当前位置:首页 » 编程语言 » python时间戳转换

python时间戳转换

发布时间: 2023-11-01 16:55:48

A. python时间转换为整数

最近写的项目用到了knn模型进行预测性分析,但是需要把日期型的字段转为整型,换言之,就是时间戳。

将时间转换成时间戳
例如:
将时间2019-4-13 10:02:23转换成时间戳,具体的操作过程为:

利用strptime()函数将时间转换成时间数组
利用mktime()函数将时间数组转换成时间戳

import time
dt = "2019-4-13 10:02:23"
# 转为时间数组
timeArray = time.strptime(dt,"%Y-%m-%d %H:%M:%S")
# 转为时间戳
timeStamp = int(time.mktime(timeArray))
print(timeStamp)

B. python之time模块

time 模块常用的与时间相关的类和函数:

time 模块的 struct_time 类代表一个时间对象,可以通过 索引和属性名 访问值。 对应关系如下:

索引 —— 属性 值
0 —— tm_year(年) 如:1945
1 —— tm_mon(月) 1 ~ 12
2 —— tm_mday(日) 1 ~ 31
3 —— tm_hour(时) 0 ~ 23
4 —— tm_min(分) 0 ~ 59
5 —— tm_sec(秒) 0 ~ 61
6 —— tm_wday(周) 0 ~ 6
7 —— tm_yday(一年内第几天) 1 ~ 366
8 —— tm_isdst(夏时令) -1、0、1

localtime() 表示当前时间,返回类型为 struct_time 对象 ,示例如下所示:

输出结果:

time()——返回当前时间的时间戳
gmtime([secs])——将时间戳转换为格林威治天文时间下的 struct_time,可选参数 secs 表示从 epoch 到现在的秒数,默认为当前时间
localtime([secs])——与 gmtime() 相似,返回当地时间下的 struct_time
mktime(t) localtime() 的反函数
asctime([t]) 接收一个 struct_time 表示的时间,返回形式为:Mon Dec 2 08:53:47 2019 的字符串
ctime([secs]) ctime(secs) 相当于 asctime(localtime(secs))
strftime(format[, t]) 格式化日期,接收一个 struct_time 表示的时间,并返回以可读字符串表示的当地时间
sleep(secs) 暂停执行调用线程指定的秒数
altzone 本地 DST 时区的偏移量,以 UTC 为单位的秒数
timezone 本地(非 DST)时区的偏移量,UTC 以西的秒数(西欧大部分地区为负,美国为正,英国为零)
tzname 两个字符串的元组:第一个是本地非 DST 时区的名称,第二个是本地 DST 时区的名称

基本使用如下所示:

strftime 函数日期格式化符号说明如下所示:

C. python根据时间戳获取时分秒

时间戳可简单理解为自1970/01/01/ 00:00:00 到现在经过的秒数,如果要计算日期运算,因为涉及到润年,一般使用语言自带的库实现比较简单和高效。但如果只是取时间即时分秒,完全可以不用依赖库,通过模运算和取整运算的方式实现,并且性能比内部库函数效率更高。

运行结果,100万次

1000万次

性能快了接近200%,如果有涉及到大数据分析场景,百万甚至千万级别次的调用时,该算法还是有意义的

D. python中怎么把datetime类型转换成timestamp

Python3.6.4(v3.6.4:d48ecebad5,Dec182017,21:07:28)
[GCC4.2.1(AppleInc.build5666)(dot3)]ondarwin
Type"help","right","credits"or"license"formoreinformation.
>>>importtime
>>>fromdatetimeimportdatetime
>>>now=datetime.now()
>>>timestamp=int(time.mktime(now.timetuple()))
>>>timestamp
1520493295
>>>timestamp_microsecond=float('{}{:06}'.format(timestamp,now.microsecond))/1000000
>>>timestamp_microsecond
1520493295.337066

E. python怎么将时间戳转化为日期

当前时间戳:time.time()
当前日期:time.ctime()
1、Python下日期到时间戳的转换
import datetime
import time
dateC=datetime.datetime(2010,6,6,8,14,59)
timestamp=time.mktime(dateC.timetuple())
print timestamp

2、Python下将时间戳转换到日期
import datetime
import time
ltime=time.localtime(1395025933)
timeStr=time.strftime("%Y-%m-%d %H:%M:%S", ltime)
print timeStr

F. Python基础编程——标准库之fileinput与time模块

在前一节我们介绍了标准库的sys模块和os模块,本节将介绍标准库的fileinput模块和time模块。

fileinput模块能够让我们轻松地迭代一系列文本文件中的行。

fileinput模块中一些重要的函数,也是我们在实际开发中需要经常用到的,具体如下表所示:

fileinput.input(): fileinput模块中最重要的函数,它返回一个可在for循环中进行迭代的对象。

fileinput. filename(): 返回当前文件(即正在处理的行所属的文件)的文件名。

fileinput. lineno(): 返回当前行的编号。

fileinput. filelineno(): 返回当前行在当前文件中的行号。

fileinput. isfirstline(): 在当前行为当前文件中的第一行时返回True,否则返回False。

fileinput. isstdin():在当前文件为sys.stdin时返回True,否则返回False。

fileinput. nextfile():关闭当前文件并跳到下一个文件,且计数时忽略跳过的行。

fileinput. close():关闭整个文件链并结束迭代。

上面关于介绍的fileinput模块中的函数的实例用法如下my_fileinput.py程序所示:

time模块包含用于获取当前时间、操作时间和日期、从字符串中读取日期、将日期格式化为字符串的函数。日期可表示为实数,也可表示为包含9个整数的元组。例如,元组(2021, 6, 8, 22, 13, 56, 1, 21, 0)表示2021年6月8日22时13分56秒。日期元组中各字段含义如下表所示:

秒的取值范围为0~61,这考虑到了闰一秒和闰两秒的情况。夏令时数字是一个布尔值(True或False),但如果你使用-1,那么mktime[将时间元组转换为时间戳(从新纪元开始后的秒数)的函数]可能得到正确的值。

模块time中有一些重要的函数,也是我们在实际开发中需要经常用到的,具体如下表所示:

time.asctime(): 将当前的时间转换成字符串形式,如果不想使用当前时间,也可以传递一个时间元组作为参数。如果要使用更复杂的时间格式化,可以使用strftime()函数。

time.localtime(): 将一个实数转换成时间元组(这里是本地时间),如果要转换成国际标准时间,应该使用time.gmtime()函数。需要注意这里的实数是一个从新纪元开始后的秒数,世界新纪元指的是 1970年1月1日0时0分0秒,如果是本地新纪元的话,需要加上本地的时区时间。

time.mktime(): 将时间元组转换成从新纪元开始后的描述,这与time.local()函数功能相反。

time.sleep(): 让解释器等待指定的秒数,即程序暂停指定的秒数。

time.strftime(): 将时间元组按照指定的格式转换成字符串格式。常用的格式符有:%Y表示年,%m表示月,%d表示日,%H表示时,%M表示分,%S表示秒。更多格式符可参考官方标准文档。

上面关于介绍的time模块中的函数的实例用法如下my_time.py程序所示:

注意:另外还有两个较新的关于时间的模块:datetime和timeit,大家可执行查阅相关文档。

本节主要介绍了以下内容:

如果有需要文中小程序的可以私信我哟!

欢迎大家转发、评论!

#Python# #python# #Python基础# #python打卡# #Python编程从入门到实践#

G. python能把正常时间转化成毫秒级别的时间戳吗

可以,需要乘以1000,比如

importtime
printtime.time()*1000#这个就是毫秒级别的时间戳,不乘以1000就是秒级时间戳

又如正常时间转换为时间戳,下面的例子需要你安装时间扩展arrow,安装方法很简单

pip install arrow,这都是废话了,下面上例子

importarrow
datetime="2016-12-2222:30:50+08:00"
printarrow.get(datetime).timestamp#这个是秒级别的时间戳,乘以1000就是毫秒级别的时间戳了
热点内容
压缩内存软件 发布:2025-01-31 16:51:39 浏览:145
脚本lcd 发布:2025-01-31 16:41:02 浏览:515
安卓selinux干什么用的 发布:2025-01-31 16:32:04 浏览:531
侠盗猎车手加钱密码是多少 发布:2025-01-31 15:44:28 浏览:662
没密码怎么登微信 发布:2025-01-31 15:33:51 浏览:737
c语言死机程序 发布:2025-01-31 15:07:52 浏览:18
编程教育装修 发布:2025-01-31 15:04:38 浏览:402
函数和存储过程的区别 发布:2025-01-31 14:39:12 浏览:610
地下室柱子箍筋的加密 发布:2025-01-31 14:36:11 浏览:935
手机拍摄视频在哪个文件夹 发布:2025-01-31 14:34:28 浏览:761