时间值的获取、处理应用广泛、普遍,以下介绍python语言获取时间、时间戳,将时间转换为时间戳。

一、时间戳(Timestamp)——time.time()

时间戳是衡量时间的尺度,尺度的单位是秒(second)。秒是铯-133原子的能阶跃迁时所辐射的电磁波的周期的9,192,631,770倍。17世纪初,英国的“探险家”们到处出海捞钱,出海就需要定位经纬、确定时间,伦敦格林尼治天文台因此出现,该天文台起步早、声量大,指定了许多标准,比如格林尼治所在地的标准时间被定位世界时间,世界时间的1970年1月1日0点0分0秒定义为时间戳的0刻度,即1970年1月1日0点0分0秒的时间戳的值是0,1970年1月1日0点1分0秒的时间戳的值是60,也就是说,时间戳是当前世界时间距离1970年1月1日0点0分0秒有多少秒。

在python中,标准库time.time()方法返回一个float对象,对象的值即是解释器运行时所在系统的时间。

import timeprint(time.time())
time.sleep(1)
print(time.time())

输出结果如下:

可以看到该方法返回的时间戳精确到微秒。

如果只需要精确到秒,可以直接类型转换为int或四舍五入(float类型转int会直接舍弃小数)。

可以复制粘贴到时间戳转换工具网站上验证一下:

时间戳(Unix timestamp)转换工具 - 在线工具

二、将字符串的时间转换为时间戳——time.mktime()

这里做个有意思的小实验:如何将人看的时间转化为计算机阅读的时间戳?想直接看time.mktime()一键操作的朋友可以直接跳过。

例如将“2022-10-13 16:00:50” 转换为时间戳,看了上面你知道了时间戳的值就是当前时间距离格林威治时间1970年1月1日0时0分0秒的差了多少秒,那么我么只需计算今年距离1970年多少有多少天(有闰年干扰)、今年开始到这个月有多少天,再把天数整合转换为时再换算为秒,结果就是时间戳。实现如下:

import timeclass TimeStamp:def __init__(self, ime_input: str):"""实例化对象并获取时间:param ime_input:  Y-m-d H:M:S 格式的字符串时间"""ime_input = ime_input.replace(":", "-")ime_input = ime_input.replace(" ", "-")self.Y, self.m, self.d, self.H, self.M, self.S = [int(x) for x in ime_input.split("-")]@classmethoddef get_days_from_year(cls, year: int) -> int:"""计算距离1970年多少年,判断闰年累加天数到今年:param year: 年份:return: 累加天数"""day = 0for year in range(1970, year + 1):if year % 400 == 0:day += 366elif year % 4 == 0 and year % 100 != 0:day += 366else:day += 365return day@classmethoddef get_days_from_month(cls, month: int) -> int:"""月份换算为天数:param month: 月份:return:累加天数"""target = 0if month < 8:for x in range(1, month + 1):if month % 2 != 0:target += 31else:target += 30else:month -= 7for x in range(1, month + 1):if month % 2 == 0:target += 31else:target += 30target += 214return target@staticmethoddef moth_one(month):if month % 2 != 0:return 31else:return 30@staticmethoddef moth_two(month):month -= 7if month % 2 == 0:return 31else:return 30def main(self) -> int:"""将时间换算成秒:return: 精确到秒的时间戳"""a = self.get_days_from_year(self.Y)b = self.get_days_from_month(self.m)days = a + b + self.d# 最后换算成秒stamp = ((((days * 24 + self.H) * 60) + self.M) * 60 + self.S)return stamp# 控制台输出当前系统时间戳,精确到微秒
print(f"系统时间戳:{time.time()}")
new_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# 控制台输出当前时间,strftime方法返回的是string类型
print(f"获取到的当前的时间:{new_time}")
dbug = TimeStamp(new_time)
# 控制台输出使用我们书写的类计算出的时间戳,精确秒
print(f"代码计算出的时间戳:{dbug.main()}")

运行结果如下:

放到校验网站上去校验结果如下:

 在python中,time.mktime()可以将时间元组转换为时间戳。时间元组即:(tm_year=年, tm_mon=月, tm_mday=日, tm_hour=时, tm_min=分, tm_sec=秒, tm_wday=这周的第几天, tm_yday=今年的第几天, tm_isdst=是否时夏令时。时间元组时python开发者规定的存储时间的方式,time模块的strptime可以用format的方式提取字符串中的事件,构造时间元组。如下:

str_time = '2022-10-13 16:32:05'
# 以表达式匹配传入的string,用format方法将字符串时间值提取,返回datetime对象
strptime_time = datetime.strptime(str_time, "%Y-%m-%d %H:%M:%S")
timetuple_time = strptime_time.timetuple()
timestamp = int(time.mktime(timetuple_time))
print(timestamp)

三、获取当前时间——time.strftime(时间格式,time.localtime())

 time.localtime方法返回一个时间元组,strftime将时间格式化
print(time.localtime())
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

python时间模块相关推荐

  1. 【Python基础】Python时间模块,超实用总结!

    我的施工之路 施工之路已完成13篇图文,又提炼为思维导图,结合使用,效果最佳. 1我的施工计划 2数字专题 3字符串专题 4列表专题 5流程控制专题 6编程风格专题 7函数使用 8面向对象编程(上篇) ...

  2. c++获取当前时间戳_python开发:python时间模块的使用

    前言: 今天元宵节,祝福大家元宵节快乐. 今天在元宵节给各位朋友分享一下python时间模块. 我们在开发中经常会与时间打交道,如:获取事件戳,时间戳的格式化等,这里简要记录一下python操作时间的 ...

  3. python时间模块倒计时_Python时间模块

    python时间模块倒计时 In this tutorial, we will learn about the Python time module. Python Variable is discu ...

  4. python时间模块time详解

    python时间模块time详解 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块 ...

  5. python 时间模块备忘

    由于要用到时间模块,为了下次不用去翻文档,这里也简单记录一下: 直接一个脚本看输出: import time print time.time() print time.localtime(time.t ...

  6. python时间模块哪个好arrow模块_python库: arrow (时间)

    arrow是个时间日期库,简洁易用.支持python3.6 https://arrow.readthedocs.io/en/latest/ arrow官网api https://github.com/ ...

  7. python 时间模块 time datetime calendar

    学而时习之,不亦悦乎.经常的复习下之前的知识,不仅加深.巩固记忆,还能在复习的同时,查漏补缺.  今天针对python库自带的三个时间模块进行复习.... time模块 time模块提供各种操作时间的 ...

  8. python时间模块 datetime (datetime、timedelta和timezone部分)

    本文承接前文:https://blog.csdn.net/weixin_44013214/article/details/103116581 本文介绍时间模块datetime的剩余部分的内容 date ...

  9. python时间模块设置_Python之时间和日期模块

    1.import time 先要导入时间模块 1)time.time()得到当前的时间,返回的是时间戳,表示自1970年1月1日起到程序运行时的秒数 1 importtime2 print(time. ...

  10. python时间模块time

    #时间模块 时间模块主要处理和时间相关的事件,我们可以通过模块获取不同数据类型的时间以便我们需求. ##表现时间的三种方式: 在pythn中表现时间的方式主要有三种:时间戳(stamptime).元祖 ...

最新文章

  1. 解析没有id的html,网络爬虫干货,还在用正则匹配html?专业的解析组件了解一下...
  2. 深究angularJS——(上传)FileUploader中文翻译
  3. c语言各类随机函数,怎样让c语言中的随机函数真正随机?
  4. Go之Beego原生查询QueryRow QueryRows Values ValuesList ValuesFlat RowsToMap RowsToStruct
  5. 顺义教委携手华平共建视频图像综合管理平台
  6. seo伪原创工具_伪原创工具哪个好用?
  7. 腾控Multiprog 使用问题 (持续更新)
  8. 图像 - 灰度化、灰度反转、二值化
  9. IntelliJ IDEA 创建 maven 创建java web 项目
  10. 汇编程序实现快速排序_用Python 3实现快速排序和插入排序代码详解
  11. 谷歌在中国大陆停止谷歌翻译服务,Chrome “翻成中文”无法使用
  12. AI燃到爆!中关村人工智能产业论坛十位大咖演讲干货
  13. github+hexo+butterfly 搭建个人博客
  14. Swing界面设计工具
  15. 只用十行 Python 代码就提取了韦小宝的身份证信息
  16. 用计算机处理文本教学反思,四年级信息技术下册 使用压缩软件教学反思 冀教版...
  17. Maven - 国内Maven仓库之阿里云Aliyun仓库地址及设置
  18. MATLAB运行程序报错:“等号右侧的输出数目不足,不满足赋值要求。”的解决方法
  19. Markdown Reference
  20. 小技巧:absolute 元素的宽度问题

热门文章

  1. adb冲突 傲软_关于adb冲突导致无法连接(Win10系统)
  2. java条码扫描_Java上的条形码扫描仪实现
  3. AutoHotkey+Typora(效率翻倍)
  4. centos7Squid 代理服务器(传统代理)
  5. 网站上面无法显示woff、svg格式字体
  6. 查看网页原代码时遇到中文汉字乱码
  7. 谷歌浏览器打开调试模式后刷新页面,页面一直加载问题
  8. linux 存储结构与磁盘划分详解
  9. [计算机毕业设计]关联挖掘的服装推荐系统
  10. Pythont tip