Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar DateTimeIndex yang Sedar Zon Waktu kepada Cap Waktu Naif Semasa Mengekalkan Waktu Tempatan?

Bagaimana untuk Menukar DateTimeIndex yang Sedar Zon Waktu kepada Cap Waktu Naif Semasa Mengekalkan Waktu Tempatan?

Patricia Arquette
Patricia Arquetteasal
2024-11-07 01:17:02239semak imbas

How to Convert a Timezone-Aware DateTimeIndex to Naive Timestamps While Preserving Local Time?

Menukar DateTimeIndex Sedar Zon Waktu kepada Cap Masa Naif

Soalan:

Bagaimana anda boleh menukar DateTimeIndex yang sedar zon waktu kepada yang naif sambil mengekalkan zon waktunya?

Kepentingan:

  • Untuk mengelakkan kerumitan zon waktu semasa bekerja dengan siri masa sedar zon waktu.
  • Untuk mewakili siri masa dalam zon waktu tempatan, tetapi tanpa maklumat zon waktu yang jelas.

Masalah Asal:

Menetapkan zon waktu kepada Tiada menukarkan cap waktu kepada UTC, kehilangan maklumat waktu tempatan.

Penyelesaian:

Bermula dengan Pandas 0.15.0, anda boleh menggunakan fungsi tz_localize(Tiada) untuk mengalih keluar maklumat zon waktu. Ini mengekalkan waktu tempatan tanpa menukar kepada UTC. Fungsi tz_convert(Tiada) bertukar kepada masa UTC naif.

Contoh:

<code class="python"># Create a timezone-aware DateTimeIndex
t = pd.date_range(start="2013-05-18 12:00:00", periods=2, freq='H', tz="Europe/Brussels")

# Remove timezone, resulting in naive local time
t_local = t.tz_localize(None)  # Output: ['2013-05-18 12:00:00', '2013-05-18 13:00:00']

# Convert to naive UTC time
t_utc = t.tz_convert(None)  # Output: ['2013-05-18 10:00:00', '2013-05-18 11:00:00']</code>

Prestasi:

tz_localize (Tiada) adalah jauh lebih pantas daripada menggunakan kaedah datetime.replace untuk mengalih keluar maklumat zon waktu.

Atas ialah kandungan terperinci Bagaimana untuk Menukar DateTimeIndex yang Sedar Zon Waktu kepada Cap Waktu Naif Semasa Mengekalkan Waktu Tempatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn