Saya mendapat respons dari yang lain adalah format waktu seperti Epoch
start_time = 1234566
end_time = 1234578
Saya ingin mengkonversi detik itu dalam waktu format MySQL sehingga saya bisa menyimpan perbedaan dalam database MySQL saya.
Saya mencoba:
>>> import time
>>> time.gmtime(123456)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=2, tm_hour=10, tm_min=17, tm_sec=36, tm_wday=4, tm_yday=2, tm_isdst=0)
Hasil di atas bukan yang saya harapkan. Aku ingin seperti itu
2012-09-12 21:00:00
Tolong sarankan bagaimana saya bisa mencapai ini?
Juga, Mengapa saya mendapatkan TypeError: a float is required
untuk
>>> getbbb_class.end_time = 1347516459425
>>> mend = time.gmtime(getbbb_class.end_time).tm_hour
Traceback (most recent call last):
...
TypeError: a float is required
1347516459425
? Ini bukan zaman yang valid. Cobatime.gmtime(float(str(i)[:-6]+'.'+str(i)[-6:]))
manai
adalah1347516459425
.Jawaban:
Untuk mengonversi nilai waktu Anda (float atau int) ke string yang diformat, gunakan:
sumber
Anda juga dapat menggunakan
datetime
:sumber
strftime()
mendukung lebih banyak placeholder pemformatan, terutama% f untuk bagian waktu mikrodetik. Untuk alasan yang tidak diketahui,time.strftime()
tidak mendukung hal itu, meskipun mikrodetik dapat direpresentasikan dalam nilai float yang dimasukkantime.localtime()
.Untuk mendapatkan UTC:
sumber
Ini yang kamu butuhkan
Silakan masukan
float
bukanint
dan bahwa yang lainTypeError
harus pergi.sumber
Coba ini:
Juga di MySQL, Anda dapat
FROM_UNIXTIME
menyukai:Untuk pertanyaan ke-2 Anda, mungkin karena
getbbb_class.end_time
string. Anda dapat mengubahnya menjadi angka seperti:float(getbbb_class.end_time)
sumber
Ini sedikit lebih bertele-tele tetapi berasal dari perintah tanggal di unix.
sumber
Pertama sedikit info dalam zaman dari man gmtime
untuk memahami bagaimana zaman seharusnya.
hanya pastikan arg yang Anda berikan
time.gmtime()
adalah integer.sumber