- 1. 基本包引入
- 2. 获取当前时间
- 3. 时间戳转datetime
- 4. 时间戳转格式化日期
- 5. 字符串转时间戳
- 6. 字符串转datetime
- 7. datetime 转字符串
- 8. datetime 转时间戳
- 9. datetime转struct_time
- 10. 日期加减操作
- 11. 格式化符号
对于日期的操作可以说是比较常见的case了,日期与格式化字符串互转,日期与时间戳互转,日期的加减操作等,下面主要介绍下常见的需求场景如何实现
1. 基本包引入
主要需要引入时间和日期的处理包,后面的基本操作都是基于此
1 | import datetime |
2. 获取当前时间
获取当前时间,有几种方式,分别使用time和datetime来演示
a. time
获取当前时间,格式化为字符串输出
1 | now = time.strftime("%Y-%m-%d %H:%M:%S") |
获取当前时间,以时间戳方式输出,结果为float类型,单位为s
1 | now=time.time() |
b. datetime
直接调用now()函数获取当前时间,返回datetime类型对象
1 | now = datetime.datetime.now() |
3. 时间戳转datetime
函数:
datetime.datetime.fromtimestamp()
将时间戳转换为datetime类型,因为后者可以进行日期的计算(如常见的加减或者格式化)
1 | # 获取当前的时间戳 |
4. 时间戳转格式化日期
a. time
函数
time.strftime(format, localtime)
和time.localtime(timestamp)
借助time的time.strftime
函数来实现转换,这里还需要做一个额外的处理,将时间戳转换为struct_time 对象
1 | now = time.time() |
b. datetime
函数
datetime.datetime.fromtimestamp
与datetime.datetime.strftime()
借助前面的知识点即可实现,先将timestamp转换为datetime, 然后将datetime格式化为字符串
1 | now=time.time() |
5. 字符串转时间戳
函数 strptime(str) 与 time.mktime(struct_time)
前面格式化输出字符串时,主要利用的是strftime
,这里则主要使用 strptime
1 | now='2019-02-11 18:45:22' |
6. 字符串转datetime
函数 datetime.datetime.strptime(str, format)
依然使用strptime
函数来实现转换
1 | now='2019-02-11 18:45:22' |
7. datetime 转字符串
函数 datetime.datetime.strftime(format)
利用strftime
来实现
1 | now = datetime.datetime.now() |
8. datetime 转时间戳
函数 datetime.datetime.timestamp()
结合前面的这个就比较好实现了
1 | now = datetime.datetime.now() |
9. datetime转struct_time
1 | now = datetime.datetime.now() |
10. 日期加减操作
函数
datetime.timedelta
日期的加减操作,这里主要是datetime对象来操作,一个简单的例子如下
1 | now = datetime.datetime.now() |
11. 格式化符号
1 | %y # 两位数的年份表示(00-99) |
II. 其他
1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
2. 声明
尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
3. 扫描关注
一灰灰blog
知识星球