一、字元串轉時間格式
有時候我們需要將字元串表示的時間轉化成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。
原創文章,作者:AJMUP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/333982.html