将Python日期时间转换为纪元
在本文中,我们将讨论将Python日期时间转换为纪元的各种方法。纪元时间也称为 POSIX 时间,它表示大多数 Windows 和 Unix 系统中从 1970 年 1 月 1 日 00:00:00 (UTC) 开始经过的秒数。
注意: Epoch 依赖于平台,这意味着它取决于您使用的系统或操作系统。
DateTime 是给定格式的时间
year/month/day/hours/minutes/seconds:milliseconds
方法一:使用 strftime()
strftime() 用于将字符串DateTime 转换为 DateTime。它还用于将 DateTime 转换为纪元。我们可以从 strftime() 的 DateTime 中获取纪元。
Syntax: datetime.datetime(timestamp).strftime(‘%s’)
Parameter:
- timestamp is the input datetime
- $s is used to get the epoch string
- datetime is the module
参数 %s 是一个平台相关的格式代码,它适用于 Linux。在 Windows 中,相同的代码可以修改为由 %S 代替 %s 运行。
示例:使用 strftime 将日期时间转换为纪元的Python代码
Python3
# import datetime module
import datetime
# convert datetime to epoch using strftime from
# time stamp 2021/7/7/1/2/1
# for linux:
epoch = datetime.datetime(2021, 7, 7, 1, 2, 1).strftime('%s')
# for windows:
# epoch = datetime.datetime(2021, 7,7 , 1,2,1).strftime('%S')
print(epoch)
# convert datetime to epoch using strftime from
# time stamp 2021/3/3/4/3/4
epoch = datetime.datetime(2021, 3, 3, 4, 3, 4).strftime('%s')
print(epoch)
# convert datetime to epoch using strftime from
# time stamp 2021/7/7/12/12/34
epoch = datetime.datetime(2021, 7, 7, 12, 12, 34).strftime('%s')
print(epoch)
# convert datetime to epoch using strftime from
# time stamp 2021/7/7/12/56/00
epoch = datetime.datetime(2021, 7, 7, 12, 56, 0).strftime('%s')
print(epoch)
Python3
# import datetime module
import datetime
# convert datetime to epoch using timestamp()
# from time stamp 2021/7/7/0/0/0
epoch = datetime.datetime(2021, 7, 7, 0, 0, 0).timestamp()
print(epoch)
# convert datetime to epoch using timestamp()
# from time stamp 2021/3/3/4/3/4
epoch = datetime.datetime(2021, 3, 3, 4, 3, 4).timestamp()
print(epoch)
# convert datetime to epoch using timestamp()
# from time stamp 2021/7/7/12/12/34
epoch = datetime.datetime(2021, 7, 7, 12, 12, 34).timestamp()
print(epoch)
# convert datetime to epoch using timestamp()
# from time stamp 2021/7/7/12/56/00
epoch = datetime.datetime(2021, 7, 7, 12, 56, 00).timestamp()
print(epoch)
输出
1625619721
1614744184
1625659954
1625662560
方法二:使用timestamp()
我们可以使用时间戳()从 DateTime 获取纪元。
Syntax: datetime.datetime(timestamp).timestamp()
Parameter:
- datetime is the module
- timestamp is the input datetime
示例:使用 timestamp() 将 DateTime 转换为纪元的Python代码
蟒蛇3
# import datetime module
import datetime
# convert datetime to epoch using timestamp()
# from time stamp 2021/7/7/0/0/0
epoch = datetime.datetime(2021, 7, 7, 0, 0, 0).timestamp()
print(epoch)
# convert datetime to epoch using timestamp()
# from time stamp 2021/3/3/4/3/4
epoch = datetime.datetime(2021, 3, 3, 4, 3, 4).timestamp()
print(epoch)
# convert datetime to epoch using timestamp()
# from time stamp 2021/7/7/12/12/34
epoch = datetime.datetime(2021, 7, 7, 12, 12, 34).timestamp()
print(epoch)
# convert datetime to epoch using timestamp()
# from time stamp 2021/7/7/12/56/00
epoch = datetime.datetime(2021, 7, 7, 12, 56, 00).timestamp()
print(epoch)
输出
1625616000.0
1614744184.0
1625659954.0
1625662560.0