Tarikh dan masa semasa dalam tutorial Python mendalam

Tarikh dan masa semasa dalam tutorial Python mendalam

Mendapatkan tarikh dan masa semasa adalah tugas biasa dalam pengaturcaraan python. Terdapat beberapa cara untuk melakukan ini, bergantung pada keperluan anda dan perpustakaan yang anda ada. Dalam artikel ini, kami akan meneroka beberapa kaedah yang paling biasa untuk mendapatkan tarikh dan masa semasa di Python, termasuk menggunakan modul DateTime terbina dalam, modul masa, dan modul dateutil. Kami juga akan membincangkan cara memformat nilai tarikh dan masa sebagai rentetan, dan cara menukar antara zon waktu. Sama ada anda bekerja dengan cap waktu, tugas penjadualan, atau hanya ingin memaparkan tarikh dan masa semasa dalam program Python anda, artikel ini akan memberikan anda alat yang anda perlukan.

Dapatkan Tarikh & Masa Semasa di Python

Kita boleh menggunakan 'masa tarikh', 'masa', dan 'dateutil' modul di python untuk mendapatkan tarikh dan masa.

  1. Menggunakan modul 'datetime'
  2. Salah satu cara paling popular untuk mendapatkan tarikh dan masa semasa di Python adalah menggunakan modul DateTime. Modul ini menyediakan kelas untuk bekerja dengan tarikh, masa, dan cap waktu.

    • Untuk mendapatkan tarikh dan masa semasa, anda boleh menggunakan datetime.fungsi sekarang (), yang mengembalikan objek datetime yang mewakili tarikh dan masa semasa di zon waktu tempatan. import datetime current_datetime = datetime.masa tarikh.sekarang () cetak (current_datetime)
      1234import datetime current_datetime = datetime.masa tarikh.sekarang () cetak (current_datetime)

      DATETIME.sekarang () fungsi mengembalikan objek datetime dengan tarikh dan masa semasa di zon waktu tempatan. Zon waktu ditentukan oleh sistem operasi di mana penterjemah python sedang berjalan.

    • Anda juga boleh menentukan zon waktu yang berbeza dengan menyampaikan hujah tzinfo ke datetime.sekarang () berfungsi. Sebagai contoh, untuk mendapatkan tarikh dan masa semasa di zon waktu UTC, anda boleh menggunakan datetime.fungsi utcnow (). import datetime current_datetime_utc = datetime.masa tarikh.UTCNOW () cetak (current_datetime_utc)
      1234import datetime current_datetime_utc = datetime.masa tarikh.UTCNOW () cetak (current_datetime_utc)

    • Anda juga boleh membuat objek DateTime untuk tarikh dan masa tertentu dengan menggunakan pembina DateTime (). Pembina ini mengambil tahun, bulan, hari, jam, minit, kedua, dan mikrosecond sebagai hujah. import datetime spesifik_datetime = datetime.DateTime (2022, 12, 25, 12, 0, 0) Cetak (spesifik_datetime)
      1234import datetime spesifik_datetime = datetime.DateTime (2022, 12, 25, 12, 0, 0) Cetak (spesifik_datetime)

  3. Menggunakan modul 'Masa'
  4. Cara lain untuk mendapatkan tarikh dan masa semasa di Python adalah dengan menggunakan modul masa. Modul ini menyediakan fungsi untuk bekerja dengan nilai masa.

    • Untuk mendapatkan tarikh dan masa semasa, anda boleh menggunakan masa.Fungsi GMTime (), yang mengembalikan struktur masa yang mewakili tarikh dan masa semasa dalam zon waktu UTC. masa import current_time = masa.cetak gmtime () (current_time)
      1234masa import current_time = masa.cetak gmtime () (current_time)

    • Anda juga boleh menggunakan masa.fungsi waktu () tempatan untuk mendapatkan tarikh dan masa semasa di zon waktu tempatan. masa import current_local_time = masa.cetak masa setempat (current_local_time)
      1234masa import current_local_time = masa.cetak masa setempat (current_local_time)

  5. Menggunakan modul 'DateUtil'
  6. Pilihan lain untuk mendapatkan tarikh dan masa semasa di Python adalah dengan menggunakan modul DateUtil. Modul ini menyediakan fungsi untuk bekerja dengan tarikh dan masa dalam pelbagai format dan zon waktu.

    • Untuk mendapatkan tarikh dan masa semasa, anda boleh menggunakan dateutil.parser.Fungsi Parse (), yang mengepam perwakilan rentetan tarikh dan masa dan mengembalikan objek DateTime. Untuk mendapatkan tarikh dan masa semasa, anda boleh lulus rentetan "sekarang" ke fungsi ini. Import DateUtil.parser current_datetime = dateutil.parser.cetak ("sekarang") cetak (current_datetime)
      1234Import DateUtil.parser current_datetime = dateutil.parser.cetak ("sekarang") cetak (current_datetime)
    • Untuk mendapatkan tarikh dan masa semasa dalam zon waktu tertentu menggunakan modul dateUtil, anda boleh menggunakan dateutil.TZ.fungsi gettz () untuk mendapatkan objek tzinfo untuk zon waktu itu, dan kemudian lulus objek itu sebagai hujah TZ ke dateutil.parser.Fungsi Parse ().

      Sebagai contoh, untuk mendapatkan tarikh dan masa semasa dalam zon waktu Pasifik Standard (PST), anda boleh menggunakan kod berikut:

      Import DateUtil.Parser Import DateUtil.TZ PST_TZ = DATEUTIL.TZ.gettz ("pst") current_datetime_pst = dateutil.parser.parse ("sekarang", tz = pst_tz) cetak (current_datetime_pst)
      123456Import DateUtil.ParserImport DateUtil.TZ PST_TZ = DATEUTIL.TZ.gettz ("pst") current_datetime_pst = dateutil.parser.parse ("sekarang", tz = pst_tz) cetak (current_datetime_pst)

    • Anda juga boleh menggunakan dateutil.TZ.Tzoffset () berfungsi untuk membuat objek Tzinfo untuk zon waktu dengan offset tetap dari UTC. Contohnya, untuk mendapatkan tarikh dan masa semasa dalam zon waktu Standard Timur (EST), iaitu 5 jam di belakang UTC, anda boleh menggunakan kod berikut: Import DateUtil.Parser Import DateUtil.TZ EST_TZ = DATEUTIL.TZ.tzoffset ("est", -5 * 60 * 60) current_datetime_est = dateutil.parser.Parse ("sekarang", tz = est_tz) cetak (current_datetime_est)
      123456Import DateUtil.ParserImport DateUtil.TZ EST_TZ = DATEUTIL.TZ.tzoffset ("est", -5 * 60 * 60) current_datetime_est = dateutil.parser.Parse ("sekarang", tz = est_tz) cetak (current_datetime_est)

Memformat tarikh dan masa di Python

Untuk memformat tarikh dan masa dengan cara tertentu, anda boleh menggunakan kaedah strftime () objek DateTime, yang mengambil rentetan format sebagai hujah. Rentetan format menentukan bagaimana nilai tarikh dan masa harus diformat.

  • Contohnya, untuk mendapatkan tarikh semasa sebagai rentetan dalam format YYYY-MM-DD, anda boleh menggunakan format format m-%d%d: import datetime current_datetime = datetime.masa tarikh.sekarang () current_date = current_datetime.cetakan strftime ("%y-%m-%d") (current_date)
    12345import datetime current_datetime = datetime.masa tarikh.sekarang () current_date = current_datetime.cetakan strftime ("%y-%m-%d") (current_date)

  • Untuk mendapatkan masa semasa sebagai rentetan dalam format HH: MM: SS, anda boleh menggunakan%h:%m:%s String: import DateTime current_datetime = DateTime.masa tarikh.sekarang () current_time = current_datetime.strftime ("%h:%m:%s") cetak (current_time)
    12345import datetime current_datetime = datetime.masa tarikh.sekarang () current_time = current_datetime.strftime ("%h:%m:%s") cetak (current_time)

  • Untuk mendapatkan tarikh dan masa semasa sebagai rentetan dalam format YYYY-MM-DD HH: MM: SS, anda boleh menggabungkan%y-%m-%d dan%h:%m:%s Strings format: import datetime current_datetime = datetime.masa tarikh.sekarang () current_datetime_string = current_datetime.strftime ("%y-%m-%d%h:%m:%s") cetak (current_datetime_string)
    12345import datetime current_datetime = datetime.masa tarikh.sekarang () current_datetime_string = current_datetime.strftime ("%y-%m-%d%h:%m:%s") cetak (current_datetime_string)

  • Terdapat banyak rentetan format lain yang tersedia, yang membolehkan anda menyesuaikan output dalam pelbagai cara. Sebagai contoh, anda boleh menggunakan rentetan format %i untuk mendapatkan jam dalam format 12 jam dengan sifar utama untuk jam satu digit, dan rentetan format %p untuk mendapatkan penunjuk AM/PM. import datetime current_datetime = datetime.masa tarikh.sekarang () current_time_12h = current_datetime.strftime ("%i:%m:%s%p") cetak (current_time_12h)
    12345import datetime current_datetime = datetime.masa tarikh.sekarang () current_time_12h = current_datetime.strftime ("%i:%m:%s%p") cetak (current_time_12h)

Anda boleh menemui senarai lengkap rentetan format yang ada dalam dokumentasi untuk kaedah strftime (): https: // docs.python.org/3/perpustakaan/datetime.html#strftime-strptime-tingkah laku

Menukar antara zon waktu di python

Untuk menukar objek DateTime dari satu zon waktu ke tempat lain menggunakan modul dateUtil, anda boleh menggunakan dateutil.TZ.fungsi gettz () untuk mendapatkan objek tzinfo untuk zon waktu sasaran, dan kemudian lulus objek itu sebagai hujah TZ ke dateutil.parser.Fungsi Parse ().

  • Sebagai contoh, untuk menukar objek DateTime dari zon waktu Pacific Standard Time (PST) ke zon waktu Time Time (EST) Timur, anda boleh menggunakan kod berikut: Import DateUtil.Parser Import DateUtil.TZ PST_TZ = DATEUTIL.TZ.gettz ("pst") est_tz = dateUtil.TZ.gettz ("est") pst_datetime = dateutil.parser.parse ("2022-12-25 12:00:00", tz = pst_tz) est_datetime = pst_datetime.cetak astimezone (EST_TZ) (EST_DATETIME)
    123456789Import DateUtil.ParserImport DateUtil.TZ PST_TZ = DATEUTIL.TZ.gettz ("pst") est_tz = dateUtil.TZ.gettz ("est") pst_datetime = dateutil.parser.parse ("2022-12-25 12:00:00", tz = pst_tz) est_datetime = pst_datetime.cetak astimezone (EST_TZ) (EST_DATETIME)

  • Anda juga boleh menggunakan dateutil.TZ.Tzoffset () berfungsi untuk membuat objek Tzinfo untuk zon waktu dengan offset tetap dari UTC. Sebagai contoh, untuk menukar objek DateTime dari zon waktu UTC ke zon waktu Time Time (EST) Timur, iaitu 5 jam di belakang UTC, anda boleh menggunakan kod berikut: Import DateUtil.Parser Import DateUtil.TZ UTC_TZ = DATEUTIL.TZ.tzoffset ("UTC", 0) EST_TZ = DATEUTIL.TZ.tzoffset ("est", -5 * 60 * 60) UTC_DATETIME = DATEUTIL.parser.Parse ("2022-12-25 12:00:00", TZ = UTC_TZ) EST_DATETIME = UTC_DATETIME.cetak astimezone (EST_TZ) (EST_DATETIME)
    123456789Import DateUtil.ParserImport DateUtil.TZ UTC_TZ = DATEUTIL.TZ.tzoffset ("UTC", 0) EST_TZ = DATEUTIL.TZ.tzoffset ("est", -5 * 60 * 60) UTC_DATETIME = DATEUTIL.parser.Parse ("2022-12-25 12:00:00", TZ = UTC_TZ) EST_DATETIME = UTC_DATETIME.cetak astimezone (EST_TZ) (EST_DATETIME)

  • Ambil perhatian bahawa kaedah astimezone () hanya berfungsi jika objek DateTime mempunyai atribut tzinfo. Sekiranya objek DateTime tidak mempunyai atribut tzinfo, dianggap berada di zon waktu tempatan. Dalam kes ini, anda boleh menggunakan dateutil.parser.Parse () berfungsi untuk membuat objek DateTime baru dengan zon waktu tertentu, dan kemudian gunakan kaedah astimezone () untuk mengubahnya ke zon waktu lain. Import DateUtil.Parser Import DateUtil.TZ local_tz = dateUtil.TZ.gettz () est_tz = dateUtil.TZ.gettz ("est") local_datetime = datetime.masa tarikh.sekarang () est_datetime = dateUtil.parser.parse (local_datetime.isoformat (), tz = local_tz).cetak astimezone (EST_TZ) (EST_DATETIME)
    123456789Import DateUtil.ParserImport DateUtil.TZ local_tz = dateUtil.TZ.gettz () est_tz = dateUtil.TZ.gettz ("est") local_datetime = datetime.masa tarikh.sekarang () est_datetime = dateUtil.parser.parse (local_datetime.isoformat (), tz = local_tz).cetak astimezone (EST_TZ) (EST_DATETIME)

Saya harap contoh -contoh ini membantu anda memahami bagaimana untuk mendapatkan tarikh dan masa semasa di Python, dan bagaimana untuk menukar antara zon waktu.

Kesimpulan

Ringkasnya, modul DateTime adalah alat yang mudah dan berkuasa untuk bekerja dengan tarikh, masa, dan cap waktu di Python. Anda boleh menggunakan masa depan.sekarang () berfungsi untuk mendapatkan tarikh dan masa semasa di zon waktu tempatan, atau datetime.UTCNOW () berfungsi untuk mendapatkan tarikh dan masa semasa di zon waktu UTC. Anda juga boleh menggunakan pembina DateTime () untuk membuat objek DateTime untuk tarikh dan masa tertentu.

Modul Masa menyediakan fungsi untuk bekerja dengan nilai masa, seperti fungsi GMTime () dan tempatan (), yang mengembalikan struktur masa yang mewakili tarikh dan masa semasa di UTC dan Timeson Tempoh, masing -masing.

Modul DateUtil menyediakan alat tambahan untuk bekerja dengan tarikh dan masa, seperti keupayaan untuk menghuraikan tarikh dan rentetan masa dan menukar antara zon waktu.

Sebaik sahaja anda mempunyai objek DateTime, anda boleh menggunakan kaedah strftime () untuk memformat nilai tarikh dan masa sebagai rentetan, dan kaedah astimezone () untuk menukar objek DateTime ke zon waktu yang berbeza.