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

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
时间戳(timestamp)是指从某个固定时间(通常为1970年1月1日午夜)开始所经过的秒数。在Python,可以使用time模块来获取和操作时间戳。 要获取当前的时间戳,可以使用time模块的time()函数,它返回当前时间的时间戳。例如: ```python import time timestamp = time.time() print(timestamp) ``` 要将时间戳转换为日期和时间,可以使用time模块的gmtime()或localtime()函数。gmtime()函数将时间戳转换为格林威治标准时间(GMT)的日期和时间,而localtime()函数将时间戳转换为本地时区的日期和时间。这两个函数返回一个包含年、月、日、小时、分钟等信息的time.struct_time对象。 ```python import time timestamp = 1630039812.123456 gm_time = time.gmtime(timestamp) local_time = time.localtime(timestamp) print(gm_time) print(local_time) ``` 要格式化日期和时间,可以使用time模块的strftime()函数。该函数接受一个格式化字符串作为参数,并根据其指令将时间转换为特定格式的字符串。以下是一些常见的指令: - %Y:四位数的年份 - %m:两位数的月份(01~12) - %d:两位数的日期(01~31) - %H:24小时制的小时数(00~23) - %M:分钟数(00~59) - %S:秒数(00~59) ```python import time timestamp = 1630039812.123456 formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(timestamp)) print(formatted_time) ``` 关于时区(timezone),Python的time模块默认使用本地时区。如果需要处理不同时区的时间,可以使用datetime模块的相关函数和类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DevGeek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值