Python date,datetime,time等相关操作总结

测试环境:

Python版本:Python 3.3.2

代码实践:

__author__ = '授客' import time from datetime import date from datetime import timedelta from datetime import datetime #####date##### # 获取当前本地日期(date对象) # 方法1 today = date.fromtimestamp(time.time()) print('方法1:当前本地日期(date对象)\n类型:', type(today), 'value:', today) # 方法2 today = date.today() print('方法2:当前本地日期(date对象)\n类型:', type(today), 'value:', today) # 获取本地当前日期(字符串,即转date对象为对应字符串) today_str = today.strftime('%Y-%m-%d') print('当前本地日期(字符串)\n类型:', type(today_str), 'value:', today_str) today_str = today.ctime() print('当前本地日期(字符串)\n类型:', 'value:',today_str) # 转换本地当前日期为时间戳(秒) second_for_today = int(time.mktime(today.timetuple())) print('当前本地日期对应的时间戳(秒):', second_for_today) # 转换本地当前日期为时间戳(毫秒) millisecond_for_today = int(time.mktime(today.timetuple())*1000) print('当前本地日期对应的时间戳(毫秒):', millisecond_for_today) # 获取本地昨日日期 yesterday = today - timedelta(days=1) print('昨日本地日期(date对象)\n类型:', type(yesterday), 'value:', yesterday) # 获取本地当前日期对应的星期 weekday = today.weekday() print('当前本地日期对应的星期:', weekday) #0~6 ->周一到周日 # 时间戳(秒)转换为date对象 mydate = date.fromtimestamp(1512144000) print('时间戳(秒)转换为date对象:', type(mydate), mydate) print('\n\n') #####datetime##### # 获取本地当前日期时间(datetime对象) # 方法1: date_time = datetime.today() print('方法1:当前本地日期时间(datetime对象)\n类型:', type(date_time), 'value:', date_time) # 方法2: date_time = datetime.now() print('方法2:当前本地日期时间(datetime对象)\n类型:', type(date_time), 'value:', date_time) # 获取本地当前日期时间(字符串,即转datetime对象为对应字符串) date_time_str = date_time.strftime('%Y-%m-%d %H:%M:%S') print('当前本地日期时间(字符串)类型:', 'value:', date_time_str) # 获取本地昨日当前时间(datetime对象) yesterday_date_time = date_time - timedelta(days=1) print('方法2:昨日本地当前时间(datetime对象)\n类型:', type(yesterday_date_time), 'value:', yesterday_date_time) # 转换本地当前日期时间为时间戳(秒) millisecond_for_date_time = int(time.mktime(date_time.timetuple())) print('当前本地日期时间对应的时间戳(秒):', millisecond_for_date_time) # 获取本地日期对应的星期 weekday = date_time.weekday() print('当前本地日期时间对应的星期:', weekday) #0~6 ->周一到周日 # 时间戳(秒)转换为datetime对象 mydatetime = datetime.fromtimestamp(1512226650) print('时间戳(秒)转换为datetime对象:', type(mydatetime), mydatetime) # 日期时间字符串表达式转datetime对象 mydatetime = datetime.strptime('2017-12-02 22:57:30', '%Y-%d-%m %H:%M:%S') print('日期时间字符串表达式转datetime对象\n类型:', type(mydatetime), 'value:', mydatetime) print('\n\n') #####time模块的time##### # 获取本地当前时间对应的时间戳(秒) #方法1 second_for_current_time = int(time.time()) print('方法1:本地当前时间对应的时间戳(秒):', second_for_current_time) #方法2 time_tuple = time.localtime() second_for_current_time = int(time.mktime(time_tuple)) print('方法2:本地当前时间对应的时间戳(秒):', second_for_current_time) # 获取本地当前时间(字符串) time_tuple = time.localtime() print('timetuple:', time_tuple) time_str = time.strftime('%Y-%m-%d %H:%M:%S',time_tuple) print('本地当前时间(字符串):', time_str) time_str = time.asctime(time_tuple) print('本地当前时间(字符串):', time_str) # 时间戳(秒)转换为本地timetuple time_tuple = time.localtime(1512226650) print('时间戳转为本地timetuple:\n', time_tuple) # 时间字符串表达式转本地timetuple元组 mytimetuple = time.strptime('2017-12-02 22:57:30', '%Y-%d-%m %H:%M:%S') print('时间字符串表达式转本地timetuple对象:\n', mytimetuple) struct_time = time.strptime('30 Nov 00', '%d %b %y') print('时间字符串表达式转本地timetuple对象:\n', struct_time)

# 获取当前日期所在周的周一 weekday1_date = date.today() - timedelta(days=date.today().isoweekday()) + timedelta(days=1) weekday1 = time.strftime('%Y%m%d', weekday1_date.timetuple()) # 获取当前日期所在周的周七 weekday7_date = date.today() - timedelta(days=date.today().isoweekday()) + timedelta(days=7) weekday7 = time.strftime('%Y%m%d', weekday7_date.timetuple()) dateRange1 = weekday1 + '-' + weekday7 print(dateRange1)

运行结果:

方法1:当前本地日期(date对象)

类型: value: 2017-12-04

方法2:当前本地日期(date对象)

类型: value: 2017-12-04

当前本地日期(字符串)

类型: value: 2017-12-04

当前本地日期(字符串)

类型: value: Mon Dec 4 00:00:00 2017

当前本地日期对应的时间戳(秒): 1512316800

当前本地日期对应的时间戳(毫秒): 1512316800000

昨日本地日期(date对象)

类型: value: 2017-12-03

当前本地日期对应的星期: 0

时间戳(秒)转换为date对象: 2017-12-02

方法1:当前本地日期时间(datetime对象)

类型: value: 2017-12-04 00:09:24.531363

方法2:当前本地日期时间(datetime对象)

类型: value: 2017-12-04 00:09:24.531363

当前本地日期时间(字符串)类型: value: 2017-12-04 00:09:24

方法2:昨日本地当前时间(datetime对象)

类型: value: 2017-12-03 00:09:24.531363

当前本地日期时间对应的时间戳(秒): 1512317364

当前本地日期时间对应的星期: 0

时间戳(秒)转换为datetime对象: 2017-12-02 22:57:30

日期时间字符串表达式转datetime对象

类型: value: 2017-02-12 22:57:30

方法1:本地当前时间对应的时间戳(秒): 1512317364

方法2:本地当前时间对应的时间戳(秒): 1512317364

timetuple: time.struct_time(tm_year=2017, tm_mon=12, tm_mday=4, tm_hour=0, tm_min=9, tm_sec=24, tm_wday=0, tm_yday=338, tm_isdst=0)

本地当前时间(字符串): 2017-12-04 00:09:24

本地当前时间(字符串): Mon Dec 4 00:09:24 2017

时间戳转为本地timetuple:

time.struct_time(tm_year=2017, tm_mon=12, tm_mday=2, tm_hour=22, tm_min=57, tm_sec=30, tm_wday=5, tm_yday=336, tm_isdst=0)

时间字符串表达式转本地timetuple对象:

time.struct_time(tm_year=2017, tm_mon=2, tm_mday=12, tm_hour=22, tm_min=57, tm_sec=30, tm_wday=6, tm_yday=43, tm_isdst=-1)

时间字符串表达式转本地timetuple对象:

time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)

20171204-20171210

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券