datetime use (cookbook)

1 represents a time interval: timedelta

1 from datetime import timedelta
2 a  = timedelta(days=2,hours=6)
3 b = timedelta(hours=4.5)
4 c = a + b

2. Expresses a specific date: datetime

1 form datetime import datetime,timedelta
2 a = datetime(2019,10,19)
3 b = timedelta(days=2)
4 now = datetime.today()
5 print(now+b)
6 print(a+b)

Note: datetime can correctly handle leap years

3. address issues relating to the month, to fill the vacant look of datetime

 from dateutil.relativedelta import relativedelta

1 from dateutil.relativedelta import relativedelta
2 from datetime import datetime
3 
4 now = datetime.today()
5 print(now+relativedelta(months=+2)

 4. Locate the month date range

1 from datetime import datetime,date,timedelta
2 import calendar
3 
4 def get_month_range(start_date=None):
5     if start_date is None:
6         start_date = date.today().replace(day=1)
7         days_in_month = calendar.monthrange(start_date.year,start_date.month)
8         end_date = start_date + timedelta(days = days_in_month)
9     return (start)date,end_date)

5. Strings to date

1 from datetime import datetime
2 text = "2012-09-20"
3 y = datetime.striptime(text,"%Y-%m-%d")

striptime relatively poor performance if the proposed format under the circumstances we know the time to write the function string processing

 

Guess you like

Origin www.cnblogs.com/newliu/p/11727591.html