Files
osxphotos/osxphotos/datetime_formatter.py
2020-06-13 08:32:56 -07:00

71 lines
1.6 KiB
Python

""" Simple formatting of datetime.datetime objects """
import datetime
class DateTimeFormatter:
""" provides property access to formatted datetime.datetime strftime values """
def __init__(self, dt: datetime.datetime):
self.dt = dt
@property
def date(self):
""" ISO date in form 2020-03-22 """
return self.dt.date().isoformat()
@property
def year(self):
""" 4 digit year """
return f"{self.dt.year}"
@property
def yy(self):
""" 2 digit year """
return f"{self.dt.strftime('%y')}"
@property
def mm(self):
""" 2 digit month """
return f"{self.dt.strftime('%m')}"
@property
def month(self):
""" Month as locale's full name """
return f"{self.dt.strftime('%B')}"
@property
def mon(self):
""" Month as locale's abbreviated name """
return f"{self.dt.strftime('%b')}"
@property
def dd(self):
""" 2-digit day of the month """
return f"{self.dt.strftime('%d')}"
@property
def dow(self):
""" Day of week as locale's name """
return f"{self.dt.strftime('%A')}"
@property
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')}"