Updated DatetimeFormatter to include hour/min/sec

This commit is contained in:
Rhet Turnbull 2020-06-13 08:32:56 -07:00
parent 4ba1982d74
commit cf2615da62
2 changed files with 71 additions and 3 deletions

View File

@ -53,3 +53,18 @@ class DateTimeFormatter:
def doy(self):
""" Julian day of year starting from 001 """
return f"{self.dt.strftime('%j')}"
@property
def hour(self):
""" 2-digit hour """
return f"{self.dt.strftime('%H')}"
@property
def min(self):
""" 2-digit minute """
return f"{self.dt.strftime('%M')}"
@property
def sec(self):
""" 2-digit second """
return f"{self.dt.strftime('%S')}"

View File

@ -1,14 +1,16 @@
""" test datetime_formatter.DateTimeFormatter """
import pytest
def test_datetime_formatter():
def test_datetime_formatter_1():
"""Test DateTimeFormatter """
import datetime
import locale
from osxphotos.datetime_formatter import DateTimeFormatter
locale.setlocale(locale.LC_ALL, "en_US")
dt = datetime.datetime(2020,5,23)
dt = datetime.datetime(2020, 5, 23, 12, 42, 33)
dtf = DateTimeFormatter(dt)
assert dtf.date == "2020-05-23"
@ -19,3 +21,54 @@ def test_datetime_formatter():
assert dtf.mm == "05"
assert dtf.dd == "23"
assert dtf.doy == "144"
assert dtf.hour == "12"
assert dtf.min == "42"
assert dtf.sec == "33"
def test_datetime_formatter_2():
"""Test DateTimeFormatter with hour > 12 """
import datetime
import locale
from osxphotos.datetime_formatter import DateTimeFormatter
locale.setlocale(locale.LC_ALL, "en_US")
dt = datetime.datetime(2020, 5, 23, 14, 42, 33)
dtf = DateTimeFormatter(dt)
assert dtf.date == "2020-05-23"
assert dtf.year == "2020"
assert dtf.yy == "20"
assert dtf.month == "May"
assert dtf.mon == "May"
assert dtf.mm == "05"
assert dtf.dd == "23"
assert dtf.doy == "144"
assert dtf.hour == "14"
assert dtf.min == "42"
assert dtf.sec == "33"
def test_datetime_formatter_3():
"""Test DateTimeFormatter zero-padding """
import datetime
import locale
from osxphotos.datetime_formatter import DateTimeFormatter
locale.setlocale(locale.LC_ALL, "en_US")
dt = datetime.datetime(2020, 5, 2, 9, 3, 6)
dtf = DateTimeFormatter(dt)
assert dtf.date == "2020-05-02"
assert dtf.year == "2020"
assert dtf.yy == "20"
assert dtf.month == "May"
assert dtf.mon == "May"
assert dtf.mm == "05"
assert dtf.dd == "02"
assert dtf.doy == "123"
assert dtf.hour == "09"
assert dtf.min == "03"
assert dtf.sec == "06"