我是靠谱客的博主 幽默诺言,这篇文章主要介绍python的 datetime 和 time 的内置标准库简单使用datetime标准库 有四个主要的模块:time 标准库时间日期格式化输出,现在分享给大家,希望可以做个参考。

目录

  • datetime标准库 有四个主要的模块:
    • 1)datetime 中的 datetime常用方法。
    • 2)datetime 中的 timedelta 时间加减。
    • 3)把 datetime 类型转为固定格式的字符串
    • 4)把 固定格式的字符表示的日期,转为日期格式。
  • time 标准库
  • 时间日期格式化输出
      • 先是 datetime 模块的格式化
      • 再是 time 模块的格式化

datetime标准库 有四个主要的模块:

1• datetime 处理日期和时间同时出现的情况。
2• date 处理年、月、日。
3• time 处理时、分、秒和分数。
4• timedelta 处理日期和/ 或时间间隔。

1)datetime 中的 datetime常用方法。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from datetime import datetime utc_now = datetime.utcnow() # 获取当前的UTC时间。 now = datetime.now() # 获取当前的本地时间。 now.month # 提取月份,为 int 型。 now.day # 提取日, 为 int 型。 now.hour # 提取时钟,为 int 型。 now.minute # 提取分钟,为 int 型。 now.second # 提取秒钟,为 int 型。 now.microsecond # 提取微秒,为 int 型。 now.date() # 提取日期 年月日。为 <class 'datetime.date'> 格式 now.time() # 提取时间 时分秒。为 <class 'datetime.time'> 格式 datetime.combine(now.date(), now.time() ) # 把提取出来的“日期”和“时间”重新合并。 now_stamp = now.timestamp() # 把日期对象转化为时间戳。 now = datetime.fromtimestamp(now_stamp) # 把时间戳转化为本地的日期对象。 utc_now = datetime.utcfromtimestamp(now_stamp) # 把时间戳转化为UTC的日期对象。 now.isoformat() # 把日期对象转化为“字符串”。变为:'2019-07-17T23:20:16.716957' datetime.ctime(now) # 把日期对象转化为“字符串”。变为:‘Wed Jul 17 23:17:52 2019’ >>> some_date = datetime(2019,6,26,22,15,30) # 根据提供的数据生成特定的日期。 # 参数最少为三个“年月日”, # 最多8个,第七个为 为秒,第八个为时区对象。 >>> some_date datetime.datetime(2019, 6, 26, 22, 15, 30)

datetime 中的date 和 time 模块可以类似看成是 datetime 的拆分。

2)datetime 中的 timedelta 时间加减。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
>>> from datetime import datetime, timedelta >>> now = datetime.now() >>> now datetime.datetime(2019, 6, 26, 21, 44, 48, 989626) >>> add_hours = timedelta(hours=2) # 增加2小时 >>> now + add_hours datetime.datetime(2019, 6, 26, 23, 44, 48, 989626) # 从21时,变为23时。 >>> reduce_time = timedelta(days=-1, hours=-3) # 减1天,3小时。 >>> now + reduce_time datetime.datetime(2019, 6, 25, 18, 44, 48, 989626)

Tip小技巧: datetime 也可以直接相减 获得 timedelta。

3)把 datetime 类型转为固定格式的字符串

见下方的 时间日期 格式化 内容

4)把 固定格式的字符表示的日期,转为日期格式。

用 strptime(date_string, format) 方法。
第一个参数为 日期字符串,第二个参数为与之对应的匹配格式。

复制代码
1
2
3
4
5
import datetime t = '2019/12/25 19:48:0' tt = datetime.datetime.strptime(t, "%Y/%m/%d %H:%M:%S")

注:用 datetime.fromisoformat()方法,可以把由isoformat()生成的字符串格式转为对应的日期格式。

详细资料见下方的日期格式化内容。

time 标准库

不同于 datetime 里的 time 模块。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
>>> import time >>> now = time.time() #获取当前的时间戳(时间纪元) >>> now 1561557399.6905515 >>> time.ctime(now) # 把时间戳转化为字符串。 'Wed Jun 26 21:56:39 2019' >>>now_local = time.localtime(now) # 把时间戳转化为当地系统时间。 time.struct_time(tm_year=2019, tm_mon=6, tm_mday=26, tm_hour=21, tm_min=56, tm_sec=39, tm_wday=2, tm_yday=177, tm_isdst=0) >>> time.gmtime(now) # 把时间戳转化为UTC时间。 time.struct_time(tm_year=2019, tm_mon=6, tm_mday=26, tm_hour=13, tm_min=56, tm_sec=39, tm_wday=2, tm_yday=177, tm_isdst=0) >>> time.mktime(now_loacl) # 把 time.struct_time 日期转为 时间戳。 1561557399.0

time.ctime( ),time.localtime( ),time.gmtime( )
这三个方法如果不带参数,那么参数默认为当前的时间。

其中 time.struct_time元组中的:
   tm_wday 为一周中的第几天,0到6 (0是周一)。
      tm_yday 为一年中的第几天。
   tm_isdst :1 表示时间是夏令时,0 表示非夏令时,-1 表示时间不确定是否是夏令时。

time.mktime() 的参数其实也可以自己构造,只要传入一个含有9个元素的元组就行,
例如:time.mktime((2019,6,26,21,56,39,0,0,0)) 最后三个参数可以全为0。

时间日期格式化输出

strftime() 把时间日期转化为字符串:

先是 datetime 模块的格式化

复制代码
1
2
3
4
5
6
7
8
>>> from datetime import datetime >>> a = datetime.now() >>> a datetime.datetime(2019, 6, 26, 23, 11, 3, 826789) >>> a.strftime('%Y-%m-%d, %H-%M-%S') # 用 strftime() 把 日期格式转为自定义的格式输出。 '2019-06-26, 23-11-03'

再是 time 模块的格式化

复制代码
1
2
3
4
5
6
7
8
>>> import time >>> a = time.localtime() >>> a time.struct_time(tm_year=2019, tm_mon=6, tm_mday=26, tm_hour=23, tm_min=15, tm_sec=33, tm_wday=2, tm_yday=177, tm_isdst=0) >>> time.strftime('%Y-%m-%d, %H-%M-%S', a) # 用 strftime() 把 日期格式转为自定义的格式输出。 '2019-06-26, 23-15-33'

注:格式化的自定义格式不能用汉字或汉字标点符号即不能这样:strftime(’%Y年%m月%d日’)。否则会报错。
在这里插入图片描述

在这里插入图片描述

最后

以上就是幽默诺言最近收集整理的关于python的 datetime 和 time 的内置标准库简单使用datetime标准库 有四个主要的模块:time 标准库时间日期格式化输出的全部内容,更多相关python的内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部