Mengkonversi unix timestamp string untuk dibaca upload
Aku punya string yang mewakili unix timestamp (yaitu "1284101485") di Python, dan I'd ingin mengubahnya untuk dibaca saat ini. Ketika saya menggunakan waktu.strftime
, saya mendapatkan TypeError
:
>>>import time
>>>print time.strftime("%B %d %Y", "1284101485")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: argument must be 9-item sequence, not str
751
14
Gunakan
datetime
module:Diambil dari http://seehuhn.de/pages/pdate
Yang paling sebagai jawaban menyarankan menggunakan fromtimestamp yang rawan kesalahan karena menggunakan zona waktu lokal. Untuk menghindari masalah pendekatan yang lebih baik adalah dengan menggunakan UTC:
Di mana posix_time adalah Posix zaman kali anda ingin mengkonversi
Ada dua bagian:
Portable cara untuk mendapatkan waktu setempat yang bekerja bahkan jika zona waktu lokal telah offset utc berbeda di masa lalu dan python tidak memiliki akses ke basis data adalah dengan menggunakan
pytz
timezone:Untuk menampilkannya, anda bisa menggunakan waktu format yang didukung oleh sistem anda, misalnya:
Jika anda tidak membutuhkan waktu setempat, untuk mendapatkan dibaca waktu UTC bukan:
Jika anda don't peduli tentang timezone isu-isu yang mungkin mempengaruhi apa yang tanggal kembali atau jika python memiliki akses ke basis data pada sistem anda:
Pada Python 3, anda bisa mendapatkan timezone-sadar datetime hanya menggunakan stdlib (UTC offset mungkin salah jika python tidak memiliki akses ke basis data pada sistem anda misalnya, di Windows):
Fungsi dari
waktu
modul yang tipis pembungkus di sekitar yang sesuai C API dan oleh karena itu mereka mungkin kurang portabel dari yang sesuaidatetime
metode jika tidak, anda bisa menggunakannya juga:Untuk dapat dibaca manusia timestamp dari UNIX timestamp, saya telah menggunakan ini dalam script sebelumnya:
Output:
'desember 26, 2012'
Anda dapat mengubah waktu saat ini seperti ini
Untuk mengkonversi tanggal dalam string ke format yang berbeda.
Selain menggunakan waktu/datetime paket, panda juga dapat digunakan untuk memecahkan masalah yang sama.Di sini adalah bagaimana kita dapat menggunakan panda untuk mengkonversi timestamp untuk dibaca tanggal:
Cap waktu bisa dalam dua format:
impor panda result_ms=panda.to_datetime('1493530261000',unit='ms') str(result_ms)
Output: '2017-04-30 05:31:01' 2. 10 digit(detik) - Untuk mengkonversi detik untuk saat ini, gunakan:
impor panda result_s=panda.to_datetime('1493530261',unit='s') str(result_s)
Output: '2017-04-30 05:31:01'
Dapatkan dibaca upload dari timestamp dengan waktu juga, anda juga dapat mengubah format tanggal.
Cara lain yang dapat dilakukan dengan menggunakan gmtime dan format fungsi;
Output:
2018-10-4 11:57:44
aku hanya berhasil digunakan:
Anda dapat menggunakan easy_date untuk memudahkan:
cepat dan kotor one liner:
'2013-5-5-1-9-43'