# parses some string into that format.
datetime1 = datetime.strptime[somestring, "%Y-%m-%dT%H:%M:%S"]
# gets the seconds from the above date.
timestamp1 = time.mktime[datetime1.timetuple[]]
# adds milliseconds to the above seconds.
timeInMillis = int[timestamp1] * 1000
Làm thế nào để tôi [tại bất kỳ điểm nào trong mã đó] biến ngày thành định dạng UTC? Tôi đã cày qua API cho một thế kỷ có vẻ như một thế kỷ và không thể tìm thấy bất cứ điều gì tôi có thể làm việc. Có ai giúp được không? Nó hiện đang biến nó thành thời gian phương Đông tôi tin [tuy nhiên tôi đang ở GMT nhưng muốn UTC].
EDIT: Tôi đã đưa ra câu trả lời cho anh chàng gần nhất với những gì cuối cùng tôi phát hiện ra.
datetime1 = datetime.strptime[somestring, someformat]
timeInSeconds = calendar.timegm[datetime1.utctimetuple[]]
timeInMillis = timeInSeconds * 1000
:]
ndemou
4.3721 Huy hiệu vàng29 Huy hiệu bạc31 Huy hiệu đồng1 gold badge29 silver badges31 bronze badges
Hỏi ngày 20 tháng 10 năm 2009 lúc 14:32Oct 20, 2009 at 14:32
1
datetime.utcfromtimestamp
có lẽ là những gì bạn đang tìm kiếm:
>>> timestamp1 = time.mktime[datetime.now[].timetuple[]]
>>> timestamp1
1256049553.0
>>> datetime.utcfromtimestamp[timestamp1]
datetime.datetime[2009, 10, 20, 14, 39, 13]
Đã trả lời ngày 20 tháng 10 năm 2009 lúc 14:37Oct 20, 2009 at 14:37
SilentghostsilentghostSilentGhost
295K64 Huy hiệu vàng301 Huy hiệu bạc291 Huy hiệu Đồng64 gold badges301 silver badges291 bronze badges
3
Tôi nghĩ rằng bạn có thể sử dụng phương pháp
datetime1 = datetime.strptime[somestring, someformat]
timeInSeconds = calendar.timegm[datetime1.utctimetuple[]]
timeInMillis = timeInSeconds * 1000
0:utc_time = datetime1 - datetime1.utcoffset[]
Các tài liệu đưa ra một ví dụ về điều này bằng phương pháp
datetime1 = datetime.strptime[somestring, someformat]
timeInSeconds = calendar.timegm[datetime1.utctimetuple[]]
timeInMillis = timeInSeconds * 1000
1 ở đây.Ngoài ra, nếu bạn sẽ giao dịch với múi giờ, bạn có thể muốn xem xét thư viện PYTZ có rất nhiều công cụ hữu ích để chuyển đổi DateTime thành nhiều loại thời gian khác nhau [bao gồm cả giữa EST và UTC]
Với pytz:
from datetime import datetime
import pytz
utc = pytz.utc
eastern = pytz.timezone['US/Eastern']
# Using datetime1 from the question
datetime1 = datetime.strptime[somestring, "%Y-%m-%dT%H:%M:%S"]
# First, tell Python what timezone that string was in [you said Eastern]
eastern_time = eastern.localize[datetime1]
# Then convert it from Eastern to UTC
utc_time = eastern_time.astimezone[utc]
Đã trả lời ngày 20 tháng 10 năm 2009 lúc 14:38Oct 20, 2009 at 14:38
JJ GEEWAXJJ GEEWAXJJ Geewax
10.1k1 Huy hiệu vàng36 Huy hiệu bạc48 Huy hiệu đồng1 gold badge36 silver badges48 bronze badges
1
def getDateAndTime[seconds=None]:
"""
Converts seconds since the Epoch to a time tuple expressing UTC.
When 'seconds' is not passed in, convert the current time instead.
:Parameters:
- `seconds`: time in seconds from the epoch.
:Return:
Time in UTC format.
"""
return time.strftime["%Y-%m-%dT%H:%M:%SZ", time.gmtime[seconds]]`
Điều này chuyển đổi thời gian địa phương sang UTC
time.mktime[time.localtime[calendar.timegm[utc_time]]]
//feihonghsu.blogspot.com/2008/02/converting-from-local-time-to-utc.html
Nếu việc chuyển đổi một struct_time thành giây thứ hai-của epoch được thực hiện bằng mktime, chuyển đổi này là trong timezone cục bộ. Không có cách nào để bảo nó sử dụng bất kỳ múi giờ cụ thể nào, thậm chí không chỉ UTC. Gói 'Thời gian' tiêu chuẩn luôn cho rằng thời gian nằm trong timezone địa phương của bạn.
garnertb
9.32434 Huy hiệu bạc38 Huy hiệu đồng34 silver badges38 bronze badges
Đã trả lời ngày 20 tháng 10 năm 2009 lúc 18:00Oct 20, 2009 at 18:00
1
Bạn có thể muốn một trong hai điều này:
import time
import datetime
from email.Utils import formatdate
rightnow = time.time[]
utc = datetime.datetime.utcfromtimestamp[rightnow]
print utc
print formatdate[rightnow]
Hai đầu ra trông như thế này
2009-10-20 14:46:52.725000
Tue, 20 Oct 2009 14:46:52 -0000
Đã trả lời ngày 20 tháng 10 năm 2009 lúc 14:50Oct 20, 2009 at 14:50
Michael Dillonmichael DillonMichael Dillon
31.5K5 Huy hiệu vàng69 Huy hiệu bạc105 Huy hiệu Đồng5 gold badges69 silver badges105 bronze badges