Rumah  >  Soal Jawab  >  teks badan

python - Mengapa pemformatan dengan time.strftime menggunakan nilai lalai?

a = masa.masa()

masa.tidur(3)

b = masa.masa()

memakan_masa = masa.strftime("%H:%M:%S", masa.masa setempat(b - a))
cetak(memakan_masa)

Gunakan kod di atas untuk menjalankan masa.strftime Selepas memformat masa, akan sentiasa ada nilai lalai untuk jam tersebut. Bagaimanakah nilai lalai 8 jam ini terhasil?

PHP中文网PHP中文网2711 hari yang lalu579

membalas semua(2)saya akan balas

  • 迷茫

    迷茫2017-05-18 10:52:41

    Disebabkan isu zon waktu, masa tidak boleh digunakan, tetapi datetime.timedelta harus digunakan untuk mengira
    Rujuk kod di bawah

    import time
    import datetime
    
    a = time.time()
    
    time.sleep(3)
    
    b = time.time()
    print datetime.timedelta(seconds=(b -a ))  # <-- 推荐
    time_consuming = time.strftime("%H:%M:%S", time.gmtime(b - a))  # <-- 不推荐
    print(time_consuming)

    Keluaran adalah seperti berikut:

    0:00:03.004802
    00:00:03

    balas
    0
  • 阿神

    阿神2017-05-18 10:52:41

    8 jam disebabkan oleh penukaran zon waktu: Beijing ialah Daerah Kelapan Timur, dan masa perlu ditambah ke hadapan sebanyak 8 jam.

    balas
    0
  • Batalbalas