python中的时间戳
【摘要】 详解python中的时间戳
目录
- 认识时间戳
- 认识python的time模块与常用方法
- datetime包生成时间戳与时间戳转时间类型的方法
认识时间戳
- 1970年1月1日00时00分00秒至今的总毫秒(秒)数
- timestamp
- float类型
time模块与他的函数们
- 时间处理,转换时间格式
- 生成时间戳函数time
- 获取本地时间函数localtime
- localtime对应字段介绍
- 暂停时间函数sleep
- time中的strptime和strftime
生成时间戳函数time
- 导入包:
import time
- 使用方法:
time.time()
- 返回值:
- 秒级别的浮点类型
- 举例:
- 1580878485.4009378
获取本地时间函数localtime
- 导入包:
import time
- 使用方法:
time.localtime(timestamp)
- 参数介绍∶
timestamp
:时间戳(可不传)
In [22]: In [1]: import time
...:
...: In [2]: t = time.localtime()
...:
...: In [3]: t
Out[22]: time.struct_time(tm_year=2023, tm_mon=6, tm_mday=3, tm_hour=11, tm_min=39, tm_sec=16, tm_wday=5, tm_yday=154, tm_isdst=0)
localtime对应字段介绍
暂停函数sleep
- 导入包:
import time
- 使用方法:
time.sleep(second)
- 参数介绍:
second
:希望程序被暂停的秒数
time中的strftime
- 首先我们导入time模块。通过调用striftime,第一个参数是格式化的匹配规则。第二个参数是一个时间localtime对象。返回赋值给str_time变量。通过打印返回了符合参数中格式化标准的字符串。它的功能和datetime中的striftime完全一致,只是要负责转换的变量类型不同而已,一个处理的是datetime.datetime时间类型,另一个处理的是time.struct_time时间类型。
- 导入包∶
import time
- 使用方法:
time.strftime(format,t)
- 参数介绍:
format
: 格式化规范t
: time.localtime对应的时间类型
In [23]: In [4]: import time
...:
...: In [5]: str_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
...:
...: In [6]: str_time
Out[23]: '2023-06-03 11:40:08'
time中的strptime
- 导入包:
import time
- 使用方法:
time.strptime(time_str, format)
- 参数介绍:
time_str
:符台时间格式的字符串format
: 确保与time_str
一致的格式化标准
In [24]: In [8]: import time
...:
...: In [9]: time_obj = time.strptime("2023-6-3", "%Y-%m-%d")
...:
...: In [10]: time_obj
Out[24]: time.struct_time(tm_year=2023, tm_mon=6, tm_mday=3, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=154, tm_isdst=-1)
datetime中生成时间戳函数
- 这里请同学们注意,它不同于tiime模块的time函数生成一个时间戳而是将一个daytime对象转成时间戳。所以括弧中不传入参数是会报错的
- 导入包:
import datetime
- 使用方法∶
now = datetime.datetime.now()
datetime.datetime. timestamp(now)
- 参数介绍:
now
: datetime时间对象
- 返回秒级时间戳,浮点型
In [25]: In [11]: import datetime
...:
...: In [12]: now = datetime.datetime.now()
...:
...: In [13]: now_timestamp = datetime.datetime.timestamp(now)
...:
...: In [14]: now_timestamp
Out[25]: 1685763777.806192
datetime时间戳转时间对象
- time模块和datetime功能很多都是一样的,为什么要有两个呢?
- ==在我们平时的工作中,datetime包更多的是对于日期的处理。而我们的time模块更多的是对于时间的处理。比如说时分秒这样子的处理方式,使用time可能会更合适一些。==
- 导入包∶
import datetime
- 使用方法:
datetime.datetime.fromtimestamp(timestamp)
- 参数介绍:
timestamp
: 时间戳
- 返回值:
datetime
的日期对象
In [26]: In [15]: now_timestamp
...: Out[15]: 1685763777.806192
...:
...: In [16]: datetime_obj = datetime.datetime.fromtimestamp(now_timestamp)
...:
...: In [17]: datetime_obj
Out[26]: datetime.datetime(2023, 6, 3, 11, 42, 57, 806192)
实战
# coding:utf-8
import time
import datetime
now = time.time() # 返回的是执行这个脚本的这行代码的最新时间戳
print(now, type(now))
# time.sleep(5)
time_obj = time.localtime(now) # 把时间戳转化为可读的时间
print(time_obj, type(time_obj))
current_time_obj = time.localtime()
print(current_time_obj)
before = now - 100000
before_obj = time.localtime(before)
print(before_obj)
print(time.time() * 1000) # 返回毫秒级的时间戳
print(time.time())
# for i in range(10):
# print(i)
# time.sleep(1)
datetime_now = datetime.datetime.now()
datetime_timestamp = datetime.datetime.timestamp(datetime_now)
print('datetime生成的时间戳:%s' % datetime_timestamp)
datetime_now_obj = datetime.datetime.fromtimestamp(datetime_timestamp)
print('时间戳转化后的日期对象为:%s' % datetime_now_obj)
print(repr(datetime_now_obj))
1685278466.228453 <class 'float'>
time.struct_time(tm_year=2023, tm_mon=5, tm_mday=28, tm_hour=20, tm_min=54, tm_sec=26, tm_wday=6, tm_yday=148, tm_isdst=0) <class 'time.struct_time'>
time.struct_time(tm_year=2023, tm_mon=5, tm_mday=28, tm_hour=20, tm_min=54, tm_sec=26, tm_wday=6, tm_yday=148, tm_isdst=0)
time.struct_time(tm_year=2023, tm_mon=5, tm_mday=27, tm_hour=17, tm_min=7, tm_sec=46, tm_wday=5, tm_yday=147, tm_isdst=0)
1685278466228.453
1685278466.228453
datetime生成的时间戳:1685278466.228452
时间戳转化后的日期对象为:2023-05-28 20:54:26.228452
datetime.datetime(2023, 5, 28, 20, 54, 26, 228452)
进程已结束,退出代码0
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)