您的位置:

时间戳转string详解

一、时间戳与string相互转换的概念

时间戳是指从某个特定时间(例如:1970年1月1日00:00:00 UTC)起经过的秒数,通常用于记录事件发生时间。string是一种数据类型,用于存储字符串。时间戳与string相互转换是指将时间戳转换成符合一定格式规则的string类型数据或将string类型数据转换成时间戳。

二、Python中时间戳转string的方法

在Python中,有多种方式将时间戳转换成string。

1. 使用time模块的strftime()

import time

timestamp = 1615018125 # 时间戳,单位为秒

# 将时间戳转换成指定格式的日期字符串
date_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))
print(date_str) # 输出:2021-03-06 10:48:45

使用time模块的strftime()函数,需要传入时间戳和格式参数。strftime()函数返回一个格式化的时间字符串。

2. 使用datetime模块的strftime()

import datetime

timestamp = 1615018125 # 时间戳,单位为秒

# 将时间戳转换成指定格式的日期字符串
date_str = datetime.datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S")
print(date_str) # 输出:2021-03-06 10:48:45

使用datetime模块的fromtimestamp()函数将时间戳转换成datetime对象,然后再使用strftime()函数将datetime对象格式化成指定格式的时间字符串。

3. 使用pandas模块的to_datetime()

import pandas as pd

timestamp = 1615018125 # 时间戳,单位为秒

# 将时间戳转换成指定格式的日期字符串
date_str = pd.to_datetime(timestamp, unit='s').strftime("%Y-%m-%d %H:%M:%S")
print(date_str) # 输出:2021-03-06 10:48:45

使用pandas模块的to_datetime()函数将时间戳转换成datetime对象,然后再使用strftime()函数将datetime对象格式化成指定格式的时间字符串。

三、Python中string转时间戳的方法

在Python中,有多种方式将string转换成时间戳。

1. 使用time模块的strptime()和mktime()

import time

date_str = '2021-03-06 10:48:45' # 时间字符串
time_tuple = time.strptime(date_str, "%Y-%m-%d %H:%M:%S") # 转换成时间元组
timestamp = time.mktime(time_tuple) # 转换成时间戳
print(timestamp) # 输出:1615018125.0

使用time模块的strptime()函数将日期字符串转换成时间元组,然后使用mktime()函数将时间元组转换成时间戳。

2. 使用datetime模块的strptime()和timestamp()

import datetime

date_str = '2021-03-06 10:48:45' # 时间字符串
dt_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S") # 转换成datetime对象
timestamp = dt_obj.timestamp() # 转换成时间戳
print(timestamp) # 输出:1615018125.0

使用datetime模块的strptime()函数将日期字符串转换成datetime对象,然后使用timestamp()函数将datetime对象转换成时间戳。

3. 使用pandas模块的to_datetime()和astype()

import pandas as pd

date_str = '2021-03-06 10:48:45' # 时间字符串
timestamp = pd.to_datetime(date_str).astype(int) // 10**9 # 转换成时间戳
print(timestamp) # 输出:1615018125

使用pandas模块的to_datetime()函数将日期字符串转换成datetime对象,然后使用astype()函数将datetime对象转换成int类型数据,并除以10的9次方,得到对应的时间戳。

四、常用日期格式串

在使用strftime()函数格式化日期字符串时,常用的日期格式串包括:

  • %Y:四位数的年份
  • %m:两位数的月份(01~12)
  • %d:两位数的日(01~31)
  • %H:24小时制的小时数(00~23)
  • %M:两位数的分钟数(00~59)
  • %S:两位数的秒数(00~59)

五、结论

Python中时间戳与string相互转换有多种方式,本文介绍了常用的方法,并给出了示例代码。在使用strftime()函数格式化日期字符串时,需要注意常用的日期格式串。