common: Implement Time::fmt_date().
authorTilman Sauerbeck <tilman@code-monkey.de>
Sun, 5 Jan 2020 21:28:07 +0000 (22:28 +0100)
committerTilman Sauerbeck <tilman@code-monkey.de>
Wed, 8 Jan 2020 11:07:38 +0000 (12:07 +0100)
src/common/time.rs

index e11dea430bae089e64feb4b738be866cc406a0b2..de41e35969c84e8c800315f6b4212fea085433f4 100644 (file)
@@ -24,7 +24,7 @@
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-use fmt::fmt_u32_pad;
+use fmt::{fmt_u32, fmt_u32_pad};
 
 pub struct Time {
     seconds: i32,
@@ -118,6 +118,20 @@ 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;