X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fcommon%2Ftime.rs;h=de41e35969c84e8c800315f6b4212fea085433f4;hb=695e71b6274cf4387a1f2f39dbcfc56b5ae7f561;hp=0413c5880d06f2fea126d084eb88a7f518a9bc84;hpb=5ce31f22fe4ea2e7a35d9e4ea6cf3cbcd5e8ab2a;p=gps-watch.git diff --git a/src/common/time.rs b/src/common/time.rs index 0413c58..de41e35 100644 --- a/src/common/time.rs +++ b/src/common/time.rs @@ -24,6 +24,8 @@ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +use fmt::{fmt_u32, fmt_u32_pad}; + pub struct Time { seconds: i32, minutes: i32, @@ -115,4 +117,32 @@ impl Time { }) } } + + pub fn fmt_date(&self, s: &mut [u8]) { + let mut offset = 0; + + offset += fmt_u32(&mut s[offset..], self.year as u32 + 1900); + s[offset] = b'-'; + offset += 1; + + offset += fmt_u32_pad(&mut s[offset..], self.month as u32 + 1, 2, b'0'); + s[offset] = b'-'; + offset += 1; + + fmt_u32_pad(&mut s[offset..], self.day as u32, 2, b'0'); + } + + pub fn fmt_time(&self, s: &mut [u8]) { + let mut offset = 0; + + offset += fmt_u32_pad(&mut s[offset..], self.hours as u32, 2, b'0'); + s[offset] = b':'; + offset += 1; + + offset += fmt_u32_pad(&mut s[offset..], self.minutes as u32, 2, b'0'); + s[offset] = b':'; + offset += 1; + + fmt_u32_pad(&mut s[offset..], self.seconds as u32, 2, b'0'); + } }