Python中的日期时间处理详解
2016-11-17 00:00
916 查看
Python中关于时间、日期的处理库有三个:time、datetime和Calendar,其中datetime又有datetime.date、datetime.time、datetime.datetime三个类。而时间又可以分为时间戳、本地时间和UTC时间(世界标准时间)。是不是听起来有点乱?那么他们相互之间有什么区别?有什么联系?又如何转换呢?
time模块
在time模块中,时间有三种表现形式:
时间戳,一般指Unix时间戳,是从1970年开始到现在的秒数。
本地时间的struct_time形式:一个长度为11的命名元组,第一位为年,第二位为月....
UTC时间的struct_time形式:一个长度为11的命名元组,类似于上个,只不过为UTC时间
其中后两者的类型一致,区别在于一个是本地时间(localtime),一个是utc时间。
各种时间形式的获取方式:
这里可以看出,本地时间(北京时间)和UTC时间相差8个小时。
各种时间形式的转换:
各种时间形式和字符串之间的转换:
datetime模块
接下来再看datetime模块。该模块中包含4个主要的类:
datetime.time:时间类,只包含时、分、秒、微秒等时间信息。
datetime.date:日期类,只包含年、月、日、星期等日期信息。
datetime.datetime:日期时间类,包含以上两者的全部信息。
datetime.timedelta:时间日期差值类,用来表示两个datetime之间的差值。
关于各个类的基本用法比较简单,建议看官方文档:datetime module
这里主要说一下datetime.datetime类的用法,其他两个的用法类似,只有轻微差别:
datetime.datetime格式
datetime类型和时间戳、struct_time类型的相互转换
datetime.datetime和时间戳、struct_time之间,也能够相互转换:
本文主要讲了各种时间、日期类型的基本用法,以及他们之间相互转换的方法,以及他们和字符串之间相互转换的方法。
老规矩,文中代码已上传至github:https://github.com/xianhu/LearnPython
本站备份下载地址:http://xz.jb51.net:81/201611/yuanma/LearnPython(jb51.net).zip
python获取一组数据里最大值max函数用法实例
Python中用max()方法求最大值的介绍
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Python进阶篇之字典操作总结
Python极简代码实现杨辉三角示例代码
Python实现将不规范的英文名字首字母大写
听歌识曲--用python实现一个音乐检索器的功能
Python max内置函数详细介绍
time模块
在time模块中,时间有三种表现形式:
时间戳,一般指Unix时间戳,是从1970年开始到现在的秒数。
本地时间的struct_time形式:一个长度为11的命名元组,第一位为年,第二位为月....
UTC时间的struct_time形式:一个长度为11的命名元组,类似于上个,只不过为UTC时间
其中后两者的类型一致,区别在于一个是本地时间(localtime),一个是utc时间。
各种时间形式的获取方式:
print("time stamp:", time.time()) # 时间戳:1479193181.829338 print("local time:", time.localtime()) # struct_time类型的本地时间 time.struct_time(tm_year=2016, tm_mon=11, tm_mday=15, tm_hour=14, tm_min=59, tm_sec=41, tm_wday=1, tm_yday=320, tm_isdst=0) print("utc time:", time.gmtime()) # struct_time类型的utc时间 time.struct_time(tm_year=2016, tm_mon=11, tm_mday=15, tm_hour=6, tm_min=59, tm_sec=41, tm_wday=1, tm_yday=320, tm_isdst=0)
这里可以看出,本地时间(北京时间)和UTC时间相差8个小时。
各种时间形式的转换:
time_stamp = time.time() # 时间戳 local_time = time.localtime(time_stamp)# 时间戳转struct_time类型的本地时间 utc_time = time.gmtime(time_stamp) # 时间戳转struct_time类型的utc时间 time_stamp_1 = time.mktime(local_time) # struct_time类型的本地时间转时间戳 time_stamp_2 = calendar.timegm(utc_time)# struct_time类型的utc时间转时间戳 print(time_stamp, time_stamp_1, time_stamp_2)
各种时间形式和字符串之间的转换:
print(time.ctime(time_stamp)) # 时间戳转字符串(本地时间字符串) print(time.asctime(local_time)) # struct_time类型的本地时间转字符串 print(time.asctime(utc_time)) # struct_time类型的utc时间转字符串 # struct_time类型的本地时间转字符串:自定义格式 print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", local_time)) # struct_time类型的utc时间转字符串:自定义格式 print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", utc_time)) struct_time = time.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w") # 字符串转struct_time类型
datetime模块
接下来再看datetime模块。该模块中包含4个主要的类:
datetime.time:时间类,只包含时、分、秒、微秒等时间信息。
datetime.date:日期类,只包含年、月、日、星期等日期信息。
datetime.datetime:日期时间类,包含以上两者的全部信息。
datetime.timedelta:时间日期差值类,用来表示两个datetime之间的差值。
关于各个类的基本用法比较简单,建议看官方文档:datetime module
这里主要说一下datetime.datetime类的用法,其他两个的用法类似,只有轻微差别:
a_datetime_local = datetime.datetime.now() # 获取datetime.datetime类型的本地时间 a_datetime_utc = datetime.datetime.utcnow() # 获取datetime.datetime类型的utc时间 # datetime.datetime类型转字符串 print(a_datetime_local.strftime("%Y-%m-%d, %H:%M:%S, %w")) # datetime.datetime类型转字符串 print(a_datetime_utc.strftime("%Y-%m-%d, %H:%M:%S, %w")) a_datetime = datetime.datetime.strptime("2016-11-15, 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w") # 字符串转
datetime.datetime格式
datetime类型和时间戳、struct_time类型的相互转换
datetime.datetime和时间戳、struct_time之间,也能够相互转换:
time_stamp = a_datetime_local.timestamp() # datetime类型转时间戳 print(time_stamp) a_datetime_local = datetime.datetime.fromtimestamp(time.time()) # 时间戳转datetime.datetime类型的本地时间 a_datetime_utc = datetime.datetime.utcfromtimestamp(time.time()) # 时间戳转datetime.datetime类型的utc时间 print(a_datetime_local, a_datetime_utc) print(a_datetime_local.timetuple()) # datetime类型转struct_time类型 print(a_datetime_utc.utctimetuple()) # datetime类型转struct_time类型
本文主要讲了各种时间、日期类型的基本用法,以及他们之间相互转换的方法,以及他们和字符串之间相互转换的方法。
老规矩,文中代码已上传至github:https://github.com/xianhu/LearnPython
本站备份下载地址:http://xz.jb51.net:81/201611/yuanma/LearnPython(jb51.net).zip
您可能感兴趣的文章:
Python中max函数用法实例分析python获取一组数据里最大值max函数用法实例
Python中用max()方法求最大值的介绍
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
Python进阶篇之字典操作总结
Python极简代码实现杨辉三角示例代码
Python实现将不规范的英文名字首字母大写
听歌识曲--用python实现一个音乐检索器的功能
Python max内置函数详细介绍
相关文章推荐
- Python中的日期时间处理详解
- python 时间日期处理汇集
- JAVA处理日期时间常用方法详解
- python学习笔记十五:日期时间处理笔记
- 在Python中处理日期和时间的基本知识点整理汇总
- Python实用日期时间处理方法汇总
- python datetime 时间日期处理小结
- Python模块学习 ---- time 日期时间处理
- Python常用的日期时间处理方法示例
- 初学 Python — 处理日期与时间[0]
- Python datetime时间日期处理
- python中关于日期时间处理的问答集锦
- python时间,日期,时间戳处理
- Python常用的日期时间处理方法示例
- 【转】python datetime时间日期处理
- python 时间日期处理汇集
- Matlab中处理日期与时间的函数详解
- Python零碎知识(10):对日期时间的处理
- Python实用日期时间处理方法汇总
- python时间处理详解