Vui lòng giúp tôi thay đổi đối tượng ngày giờ (ví dụ: 2011-12-17 11:31:00-05:00
) (bao gồm múi giờ) sang dấu thời gian Unix (như hàm time.time() bằng Python).Thay đổi ngày giờ thành dấu thời gian Unix bằng Python
Trả lời
câu trả lời chưa hoàn chỉnh (không đối phó với các múi giờ), nhưng hy vọng hữu ích:
time.mktime(datetime_object.timetuple())
** sửa dựa trên những nhận xét sau đây **
Trong chương trình của tôi, người dùng nhập datetime, chọn múi giờ. ... Tôi đã tạo một danh sách múi giờ (sử dụng pytz.all_timezones) và cho phép người dùng chọn một múi giờ từ danh sách đó.
Mô-đun Pytz cung cấp các chuyển đổi cần thiết. Ví dụ. nếu dt
là đối tượng datetime
của bạn, và người sử dụng chọn 'Mỹ/Đông'
import pytz, calendar
tz = pytz.timezone('US/Eastern')
utc_dt = tz.localize(dt, is_dst=True).astimezone(pytz.utc)
print calendar.timegm(utc_dt.timetuple())
Đối số is_dst=True
là để giải quyết lần mơ hồ trong khoảng thời gian 1 giờ ở phần cuối của tiết kiệm ánh sáng ban ngày (xem ở đây http://pytz.sourceforge.net/#problems-with-localtime).
Tôi thực sự cần phải đối phó với múi giờ. –
Đối tượng datetime đầu vào có chứa đúng tzinfo không? Hoặc, nếu không, làm cách nào để bạn biết múi giờ nào bạn quan tâm? –
có. Trong chương trình của tôi, người dùng nhập datetime, chọn múi giờ. Tôi sử dụng ngôn ngữ python, tôi tạo ra một danh sách múi giờ (sử dụng pytz.all_timezones) và cho phép người dùng chọn một múi giờ từ danh sách đó. Vấn đề của tôi là làm thế nào để chuyển đổi datetime cùng với id múi giờ để unix timestamp. Tất cả câu trả lời trên không giải quyết được vấn đề của tôi. Làm ơn giúp tôi. –
Một cách khác là:
import calendar
from datetime import datetime
d = datetime.utcnow()
timestamp=calendar.timegm(d.utctimetuple())
Timestamp là dấu thời gian unix mà hiển thị ngày tháng cùng với đối tượng datetime d.
lưu ý: nó loại bỏ các phân số của một giây. Để bảo tồn micro giây, hãy sử dụng: ['(d - datetime (1970,1,1)) .total_seconds()'] (http://stackoverflow.com/a/8778548/4279) – jfs
import time
import datetime
dtime = datetime.datetime.now()
ans_time = time.mktime(dtime.timetuple())
Giờ địa phương có thể mơ hồ, ví dụ: chuyển tiếp cuối cùng của DST ("giảm trở lại"). 'timetuple()' đặt 'tm_isdst' thành' -1' để buộc 'mktime()' đoán, có 50% cơ hội nó sai. Sử dụng thời gian utc hoặc các đối tượng datetime nhận biết. – jfs
- 1. MySQL chuyển đổi ngày giờ thành dấu thời gian Unix
- 2. Ruby: chuyển đổi dấu thời gian unix thành ngày
- 3. Ruby/Rails: chuyển đổi ngày thành dấu thời gian UNIX
- 4. Chuyển đổi ngày thành dấu thời gian UNIX
- 5. Chuyển đổi dấu thời gian unix thành julian
- 6. Chuyển đổi dấu thời gian postgresql thành dấu thời gian bằng JavaScript trong Python
- 7. Chuyển đổi dấu thời gian unix thành ngày có thể đọc được bằng PHP?
- 8. Làm cách nào để chuyển đổi ngày thành dấu thời gian UNIX bằng Twig?
- 9. Làm cách nào để chuyển đổi Dấu thời gian thành đối tượng Ngày hoặc Ngày giờ?
- 10. Tập lệnh Bash để chuyển đổi cột ngày và giờ thành dấu thời gian trong .csv
- 11. Làm thế nào để chuyển đổi một dấu thời gian unix thành dấu thời gian ISO8601 trong PHP?
- 12. chuyển đổi dấu thời gian unix thành dấu thời gian H2
- 13. Khi nào thư mục UNIX thay đổi dấu thời gian
- 14. Tìm ngày giữa 2 dấu thời gian unix trong php
- 15. javascript: nhận tháng/năm/ngày từ dấu thời gian unix
- 16. Chuyển đổi API biểu đồ Facebook Ngày thành dấu thời gian UNIX
- 17. Làm thế nào để chuyển đổi dấu thời gian nguyên sang ngày giờ của Python
- 18. Chuyển đổi Ngày thành Dấu thời gian trong Scala
- 19. Dấu thời gian Unix tới .net DateTime
- 20. Chuyển đổi thời gian Unix bằng PowerShell
- 21. Python: Chuyển đổi thời gian UTC thành dấu thời gian UTC
- 22. Làm thế nào tôi có thể chuyển đổi một dấu thời gian ISO8601 thành thời gian unix trong Perl?
- 23. Cách chuyển đổi cột dấu thời gian của SQL Server thành định dạng ngày giờ
- 24. chuyển đổi bất kỳ chuỗi ngày nào thành dấu thời gian không có múi giờ
- 25. Cách chuyển đổi dấu thời gian UTC thành ngày và giờ hệ thống trong ABAP
- 26. Mục tiêu-C: giúp tôi chuyển đổi dấu thời gian thành ngày/giờ được định dạng
- 27. Mili giây cho dấu thời gian UNIX
- 28. Làm cách nào để chuyển đổi chuỗi HH: MM: SS thành thời gian thời gian UNIX?
- 29. Dấu thời gian Unix trong sqlite?
- 30. Java đơn giản Dấu thời gian để chuyển đổi ngày
Có thể là một bản sao của http://stackoverflow.com/questions/2775864/python-datetime-to-unix-timestamp –
liên quan: [Chuyển đổi datetime.date để UTC timestamp bằng Python] (http: // stackoverflow.com/a/8778548/4279) – jfs