我在接下來的格式字符串:2017-02-14T09:51:46.000-0600的Python - 解析和轉換串入時間戳
什麼是分析和轉換串入時間戳最好的方法? 我有選擇使用正則表達式或寫我自己的函數進行解析,但有沒有內置的方法可以幫助我?
我在接下來的格式字符串:2017-02-14T09:51:46.000-0600的Python - 解析和轉換串入時間戳
什麼是分析和轉換串入時間戳最好的方法? 我有選擇使用正則表達式或寫我自己的函數進行解析,但有沒有內置的方法可以幫助我?
第一部分將創建DateTime對象:
from datetime import datetime
date_string = "2017-02-14T09:51:46.000-0600"
# I'm using date_string[:-9] to skip ".000-0600"
format_date = datetime.strptime(date_string, '%Y-%m-%dT%H:%M:%S.%f%z'))
後的格式日期:
print(format_date)
2017-02-14 09:51:46
而時間戳是:
print(format_date.timestamp())
1487062306.0
這裏很少有關於python reference page的說明,您可以看到我使用的'%Y-%m-%dT%H:%M:%S.%f%z')
格式說明符的定義。
這是非常豐富和簡潔,非常感謝! 正是我在找什麼! –
很高興能幫到你! :) –
這不是時區?來自Python 3。2開始,你可以做'datetime.datetime.strptime(「2017-02-14T09:51:46.000-0600」,'%Y-%m-%dT%H:%M:%S.%f%z' ).timestamp()'如果我正確記得格式字符串定義。但是因爲我永遠無法正確記住它,所以我使用'dateutil.parse.parse';) – stephan
這裏是代碼的形式,你可以分析和轉換字符串中的時間戳
>>> import time
>>> import datetime
>>> s = "2017-02-14T09:51:46.000-0600"
>>> time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
1322697600.0
我得到了它的邏輯,但我在Python的工作,認爲建成在上面的方法是在JAVA –
請編輯你的答案。他明確要求Python,而不是Java。 –
幫你自己一個忙,並使用搜索功能。對於它的價值,我的解決方案是'dateutil.parser.parse('2017-02-14T09:51:46.000-0600')。timestamp()'(完全未測試,所以不能保證)。但我使用'dateutil.parser.parse'主要是因爲我很懶,而且我期望有更好的方法來解析這個特定的字符串。 – stephan
謝謝斯蒂芬,我再次看看搜索功能,正在尋找一個方向使用正則表達式或模塊來幫助解析,讓我在一個方向 –