Tôi cần biết thời gian hiện tại tại CDT khi kịch bản Python của tôi chạy. Tuy nhiên, tập lệnh này sẽ được chạy trong nhiều múi giờ khác nhau, do đó, việc bù đắp đơn giản sẽ không hoạt động. Tôi chỉ cần một giải pháp cho Linux, nhưng một giải pháp nền tảng chéo sẽ là lý tưởng.cách tìm thời gian tại múi giờ cụ thể từ bất cứ nơi nào
Trả lời
Bạn có thể sử dụng time.gmtime()
để nhận thời gian GMT (UTC) từ bất kỳ máy nào bất kể múi giờ, sau đó bạn có thể áp dụng bù trừ của mình.
Vấn đề là biết bù đắp là gì, do đó không giúp được gì. –
Lennart, không, anh ấy hỏi làm thế nào để có được thời gian tại một múi giờ đã biết trước đó từ bất kỳ khác, mà 'gmtime()' là giải pháp hoàn hảo .. –
Tôi biết. Vấn đề vẫn còn là biết những gì các offsets giữa hai múi giờ, CDT và một trong những khác, được. –
pytz hoặc dateutil.tz là mẹo ở đây. Về cơ bản nó giống như thế này:
>>> from pytz import timezone
>>> mytz = timezone('Europe/Paris')
>>> yourtz = timezone('US/Eastern')
>>> from datetime import datetime
>>> now = datetime.now(mytz)
>>> alsonow = now.astimezone(yourtz)
Khó khăn thực sự nằm trong việc xác định múi giờ bạn đang ở. Dateutil.tz là tốt hơn lúc đó.
>>> from dateutil.tz import tzlocal, gettz
>>> mytz = tzlocal()
>>> yourtz = gettz('US/Eastern')
Nếu bạn muốn tất cả mọi chi tiết về việc tại sao các múi giờ là tà ác, họ đang ở đây:
http://regebro.wordpress.com/2007/12/18/python-and-time-zones-fighting-the-beast/
http://regebro.wordpress.com/2008/05/10/python-and-time-zones-part-2-the-beast-returns/
http://regebro.wordpress.com/2008/05/13/thanks-for-the-testing-help-conclusions/
Một đơn giản bù đắp sẽ làm việc, bạn chỉ cần bù đắp từ UTC.
Sử dụng datetime bạn có thể lấy utc (GMT) thời điểm hiện tại và sử dụng đối tượng datetime:
datetime.datetime.utcnow() - Cung cấp thời gian tại UTC
datetime.datetime.now() - Cung cấp thời gian tại máy cục bộ
Để nhận thời gian CT từ bất kỳ hệ thống nào bạn cần biết bù trừ thời gian CT từ UTC. Sau đó, để tính toán thời gian tiết kiệm ánh sáng ban ngày, hãy mã hóa một hàm để lấy giá trị bù hiện tại.
>>> import datetime
>>> utc = datetime.datetime.utcnow()
>>> current_ct_offset = get_current_ct_offset()
>>> ct_datetime = utc + datetime.timedelta(hours=current_ct_offset)
Tôi có thể nhìn thấy một cái gì đó ở đây, nhưng nếu bạn chỉ quan tâm đến một múi giờ và không làm việc xử lý tên tz, nó khá thẳng về phía trước.
Vâng, anh ta quan tâm đến hai múi giờ. Các địa phương, và CDT. Và chủ yếu là, với CDT, anh ấy thực sự không có nghĩa là tiết kiệm ánh sáng ban ngày của Trung tâm mà không quan tâm đến những thay đổi trong tiết kiệm ánh sáng ban ngày, bởi vì điều đó thật kỳ lạ. –
Có lẽ câu hỏi cần làm rõ hơn. Sự hiểu biết của tôi là anh ấy muốn "biết thời gian hiện tại tại ". Trong trường hợp này, bạn chỉ cần biết thời gian UTC và
Có. Nhưng cách duy nhất để biết chắc chắn là bù đắp, nếu anh ta quan tâm đến việc tiết kiệm ánh sáng ban ngày (và nó sẽ là ngu ngốc không) là bằng cách sử dụng cơ sở dữ liệu múi giờ. Do đó, câu trả lời của tôi vẫn là câu trả lời đúng. –
- 1. Nhận dấu thời gian hiện tại từ múi giờ cụ thể
- 2. Điều chỉnh múi giờ theo thời gian
- 3. Đường ray: Cách phân tích chuỗi thời gian theo ngày thành múi giờ cụ thể
- 4. Thời gian chạy bằng múi giờ
- 5. Cách bỏ qua múi giờ của người dùng và lực Ngày() sử dụng múi giờ cụ thể
- 6. Cách chuyển đổi thời gian UTC thành Thời gian ở bất kỳ múi giờ nào khác trong C#
- 7. Thời gian Joda - Nhận tên múi giờ?
- 8. Cách chuyển đổi thời gian chính xác theo múi giờ?
- 9. Nhận đối tượng thời gian vào ngày bắt đầu trong một múi giờ cụ thể
- 10. Thời gian Joda - khác nhau giữa các múi giờ
- 11. #include ở bất cứ nơi nào
- 12. Tìm múi giờ từ mã sân bay bằng mã perl
- 13. Làm cách nào để thay đổi múi giờ trong PHP cho dấu thời gian hiện tại?
- 14. Python - datetime của một múi giờ cụ thể
- 15. 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ờ
- 16. Python: hiển thị thời gian theo múi giờ khác nhau
- 17. Nhận múi giờ từ DateTime
- 18. Python pytz Chuyển đổi dấu thời gian (định dạng chuỗi) từ một múi giờ sang một múi giờ khác
- 19. Nhận ngày giờ cho múi giờ khác Bất kể múi giờ địa phương
- 20. get thời gian máy chủ trong php - múi giờ hành
- 21. Moment.js: Ngày định dạng trong một múi giờ cụ thể
- 22. Nhận thời gian của các múi giờ khác nhau về lựa chọn thời gian từ bộ chọn thời gian
- 23. Chuyển đổi thời gian và ngày tháng từ múi giờ này sang múi giờ khác trong PHP
- 24. Thời gian Python đến tuổi, phần 2: múi giờ
- 25. Đặt NSDate thành ngày, giờ và múi giờ cụ thể
- 26. Cách nhận múi giờ từ mã zip?
- 27. PHP ngày dấu thời gian để sử dụng múi giờ
- 28. Tôi làm cách nào để “tách rời” một ngày trong một múi giờ cụ thể?
- 29. Thời gian cao điểm thời gian epoch không khớp với múi giờ
- 30. Làm thế nào để tìm ra múi giờ của datetime cụ thể ở vị trí cụ thể?
CDT đề cập đến "Thời gian ban ngày trung tâm" – hoju
Bạn muốn biết thời gian trong CDT ngay cả khi CDT không có hiệu lực? –
yep - ứng dụng tôi đang giao tiếp với việc sử dụng nó. – hoju