datetime模块
1 | datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) |
今天
1 | import time |
1 | "datetime.datetime(2019, 3, 24, 18, 49, 16, 624213) |
1 | date.today() |
1 | datetime.date(2019, 3, 24) |
1 | date.fromtimestamp(time.time()) |
1 | datetime.date(2019, 3, 24) |
自定义日期
自己初始化一个日期,2019年1月31日11点5分:
1 | some_day = datetime(2019, 1, 31, 11, 5, 0, 0) |
1 | datetime.datetime(2019, 1, 31, 11, 5) |
注意datetime会帮你检查日期的合法性,比如输入
1 | datetime(2019, 1, 32, 11, 5, 0, 0) |
会返回:
1 | ValueError: day is out of range for month |
常用的属性
1 | print("-".join(map(str, [some_day.year, some_day.month, some_day.day, some_day.hour, some_day.minute, some_day.second]))) |
1 | 2019-1-31-11-5-0 |
常用函数
星期几
1 | some_day.weekday() |
1 | 3 |
时间戳
1 | some_day.timestamp() |
1 | 1548903900.0 |
优雅的表示:
1 | some_day.strftime("%b %d %Y %H:%M:%S") |
1 | 'Jan 31 2019 11:05:00' |
1 | some_day.strftime("%Y-%m-%d %H:%M:%S") |
1 | '2019-01-31 11:05:00' |
相反的操作,从字符串到datetime
1 | datetime.strptime("2019-01-31 11:05:00", "%Y-%m-%d %H:%M:%S") |
1 | datetime.datetime(2019, 1, 31, 11, 5) |
高级应用
获得某个月的最后一天:
参考https://stackoverflow.com/questions/42950/get-last-day-of-the-month-in-python
1 | def get_end_day_this_month(): |
1 | datetime.datetime(2019, 3, 31, 23, 59, 59, 999999) |