一、字符串转时间格式
有时候我们需要将字符串表示的时间转化成timestamp,我们可以先将字符串转换成时间格式,然后再将时间格式转换成timestamp。对于常见的字符串时间格式,可以使用Python的datetime模块进行转换。
import datetime str_time = '2021-07-01 10:12:30' time_format = '%Y-%m-%d %H:%M:%S' dt = datetime.datetime.strptime(str_time, time_format) timestamp = dt.timestamp()
以上代码通过strptime方法将字符串转换成datetime格式,再使用timestamp方法转换成timestamp。
二、字符串转数字
在某些情况下,我们需要先将字符串转换成数字,然后再转换成timestamp。Python中提供了int和float方法用于将字符串转换成对应的数字。
str_num = '123456' num = int(str_num) timestamp = num / 1000
以上代码将字符串123456转换成整数123456,然后除以1000得到对应的timestamp。
三、字符串转成字节方法
在Python中,字符串可以通过encode方法转换成对应的字节。
str_time = '2021-07-01 10:12:30' time_format = '%Y-%m-%d %H:%M:%S' byte_time = str_time.encode('utf-8') dt = datetime.datetime.strptime(byte_time.decode('utf-8'), time_format) timestamp = dt.timestamp()
以上代码首先使用encode将字符串转换成字节,然后使用decode将字节转换成字符串后转换成datetime格式,再转换成timestamp。
四、字符串转日期
有时候我们只需要将字符串转换成日期,可以使用dateutil模块进行转换。dateutil是Python中强大的日期处理工具库,支持自动解析字符串时间戳和手动定义时间戳等多种方式。
from dateutil.parser import parse str_date = '2021-07-01' date = parse(str_date) timestamp = date.timestamp()
以上代码使用parse方法将字符串转换成datetime格式,再将其转换成timestamp。
五、字符串转json
字符串是常见的json数据形式,我们可以使用json模块将字符串解析成json格式,再转换成timestamp。
import json str_json = '{"time": "2021-07-01 10:12:30"}' json_data = json.loads(str_json) str_time = json_data['time'] time_format = '%Y-%m-%d %H:%M:%S' dt = datetime.datetime.strptime(str_time, time_format) timestamp = dt.timestamp()
以上代码首先使用loads方法将字符串解析成json格式,然后获取json数据中表示时间的字符串,转换成datetime格式,再转换成timestamp。
六、字符串转化为数字
在Python中,字符串可以使用正则表达式进行匹配提取其中数字,并转换成对应的数字形式,最后将其转换成timestamp。
import re str_time = '2021-07-01 10:12:30' match = re.search(r'\d+', str_time) num = int(match.group()) timestamp = num / 1000
以上代码使用正则表达式匹配字符串中的数字,转换成整数,再除以1000得到timestamp。
七、字符串转数组
有时候字符串表示的时间可能包含多个时间信息,可以使用split方法将字符串转换成数组,再将数组中每个时间信息转换成timestamp。
str_times = '2021-07-01 10:12:30,2021-07-02 10:12:30' str_time_list = str_times.split(',') time_format = '%Y-%m-%d %H:%M:%S' timestamps = [] for str_time in str_time_list: dt = datetime.datetime.strptime(str_time, time_format) timestamps.append(dt.timestamp())
以上代码使用split方法将字符串转换成数组,遍历数组中每个时间信息,将其转换成datetime格式,再转换成timestamp并添加到timestamps数组中。
八、字符串转int
如果字符串表示的时间只有整数形式的,可以使用int方法将其转换成整数后再除以1000得到timestamp。
str_num = '1627737150' num = int(str_num) timestamp = num / 1000
以上代码将字符串转换成整数,再除以1000得到对应的timestamp。
九、字符串转整数
对于一些表示时间的字符串,可能只包含整数形式的时间信息,我们可以使用正则表达式匹配其中的数字,转换成对应的timestamp。
import re str_time = '1627737150' match = re.search(r'\d+', str_time) num = int(match.group()) timestamp = num
以上代码使用正则表达式匹配字符串中的数字,转换成整数,直接得到对应的timestamp。