Proszę, pomóż mi zmienić obiekt datetime (na przykład: 2011-12-17 11:31:00-05:00
) (w tym strefę czasową) na uniksowy znacznik czasu (jak funkcja time.time() w Pythonie).Zmień datetime na uniksowy znacznik czasu w Pythonie
Odpowiedz
Niepełna odpowiedź (nie dotyczy stref czasowych), ale mam nadzieję, że przydatne:
time.mktime(datetime_object.timetuple())
** edytowane w oparciu o następujący komentarz **
W moim programie, użytkownik wchodzi datetime, wybierz strefę czasową. ... Stworzyłem listę stref czasowych (użyj pytz.all_timezones) i pozwól użytkownikowi wybrać jedną strefę czasową z tej listy.
Moduł Pytz zapewnia niezbędne konwersje. Na przykład. jeśli dt
to obiekt datetime
, a użytkownik wybrał „Us/Eastern”
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())
Argument is_dst=True
jest rozwiązanie niejednoznaczne razy w odstępach 1-godzinnych na koniec czasu letniego (patrz tutaj http://pytz.sourceforge.net/#problems-with-localtime).
Naprawdę muszę poradzić sobie z strefami czasowymi. –
Czy wejściowy obiekt datetime zawiera właściwe tzinfo? Lub, jeśli nie, skąd wiesz, która strefa czasowa Cię interesuje? –
tak. W moim programie użytkownik wprowadza datetime, wybierz strefę czasową. Używam języka python, stworzyłem listę stref czasowych (użyj pytz.all_timezones) i pozwól użytkownikowi wybrać jedną strefę czasową z tej listy. Mój problem polega na konwersji datetime wraz z timezone id na uniksowy znacznik czasu. Wszystkie powyższe odpowiedzi nie rozwiązują mojego problemu. Proszę pomóż mi. –
Innym sposobem jest:
import calendar
from datetime import datetime
d = datetime.utcnow()
timestamp=calendar.timegm(d.utctimetuple())
Znacznik czasu jest znacznik czasu UNIX, który pokazuje tę samą datę z obiektem DateTime d.
uwaga: usuwa ułamki sekund. Aby zachować mikrosekundy, użyj: ['(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())
Czas lokalny może być niejednoznaczny np. Podczas przejścia końca DST ("powrót"). 'timetuple()' ustawia 'tm_isdst' na' -1', które zmusza 'mktime()' do odgadnięcia, tj. istnieje 50% szansy, że zrobi to źle. Użyj czasu utc lub świadomych obiektów datetime. – jfs
- 1. Konwertuj datetime na uniksowy znacznik czasu
- 2. Konwersja uniksowy znacznik czasu do datetime
- 3. Konwersja Joda LocalDateTime na uniksowy znacznik czasu
- 4. Jak zdobyć uniksowy znacznik czasu w .NET
- 5. Konwertuj datetime na MySQL na uniksowy znacznik czasowy
- 6. Jak uzyskać uniksowy znacznik czasu z numpy.datetime64
- 7. Jak zdobyć uniksowy znacznik czasu w MySQL od czasu UTC?
- 8. Konwersja uniksowy znacznik czasu do ISO 8601
- 9. Uniksowy znacznik czasu do zwiększenia :: posix_time :: ptime
- 10. Jak wygenerować UTC uniksowy znacznik czasu w C#
- 11. jak przekonwertować ciąg znaków na uniksowy znacznik czasu w javascript?
- 12. UNIX Znacznik czasu do MySQL DATETIME
- 13. Jak przekonwertować znacznik czasu DB2 na datetime?
- 14. Jak przekonwertować uniksowy znacznik czasu na obiekt Swift NSDate?
- 15. JavaScript znacznik czasu do Python datetime konwersji
- 16. Jak utworzyć uniksowy znacznik czasu w systemie Android?
- 17. Parsing uniksowy znacznik czasu z RestKit w iOS
- 18. W Pythonie, jak mogę zmienić ten format w uniksowy znacznik czasu?
- 19. Konwersja uniksowy znacznik czasu do obiektu Date javascript
- 20. Jak przekonwertować ciąg datetime na znacznik czasu UNIX w SQLite3?
- 21. Uniwersalny znacznik czasu dla .net DateTime
- 22. serializować datetime jako znacznik czasu całkowitego
- 23. Czy istnieje funkcja mysql, która sformatuje uniksowy znacznik czasu?
- 24. C++ znacznik czasu do czytelnej funkcji datetime
- 25. Jak przekonwertować 13-cyfrowy Uniksowy znacznik czasu na datę i godzinę?
- 26. Przekaż datetime/znacznik czasu z PHP na JavaScript przez echo
- 27. Najlepszy sposób, aby dostać uniksowy znacznik czasu dla aktualnego czasu UTC w MySQL
- 28. Konwertuj czas uniksowy na obiekt typu datetime iz powrotem (pary funkcji konwersji czasu, które są odwrotne)
- 29. Jak przekonwertować NSDate na uniksowy znacznik czasu w Objective C/iPhone?
- 30. Jak przekonwertować datę, aby uniksowy znacznik czasu w skrypcie powłoki na MacOS
Ewentualnie duplikatem http://stackoverflow.com/questions/2775864/python-datetime-to-unix-timestamp –
related: [Konwersja datetime.date UTC datownik w Pythonie] (http: // stackoverflow.com/a/8778548/4279) – jfs