Mengkonversi Utc ke Gmt 7 Python

Sementara aritmatika tanggal dan waktu didukung, fokus penerapannya adalah pada ekstraksi atribut yang efisien untuk pemformatan dan manipulasi output

Lihat juga

Modul

General calendar related functions

Modul

Time access and conversions

Modul

Concrete time zones representing the IANA time zone database

Penggunaan tanggal paket

Third-party library with expanded time zone and parsing support

Aware and Naive Objects

Objek tanggal dan waktu dapat dikategorikan sebagai "sadar" atau "naif" bergantung pada apakah mereka menyertakan informasi zona waktu atau tidak

Dengan pengetahuan yang memadai tentang penyesuaian waktu algoritmik dan politik yang berlaku, seperti zona waktu dan informasi waktu musim panas, objek sadar dapat menempatkan dirinya relatif terhadap objek sadar lainnya. Objek sadar mewakili momen tertentu dalam waktu yang tidak terbuka untuk interpretasi.

Objek naif tidak berisi informasi yang cukup untuk menempatkan dirinya secara jelas relatif terhadap objek tanggal/waktu lainnya. Apakah objek naif mewakili Coordinated Universal Time (UTC), waktu lokal, atau waktu di beberapa zona waktu lain murni tergantung pada program, sama seperti program apakah angka tertentu mewakili meter, mil, atau massa. Objek naif mudah dipahami dan dikerjakan, dengan mengorbankan beberapa aspek realitas

Untuk aplikasi yang membutuhkan objek sadar, dan objek memiliki atribut informasi zona waktu opsional,

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
4, yang dapat disetel ke turunan subkelas dari kelas abstrak. These objects capture information about the offset from UTC time, the time zone name, and whether daylight saving time is in effect

Only one concrete class, the class, is supplied by the module. The class can represent simple timezones with fixed offsets from UTC, such as UTC itself or North American EST and EDT timezones. Supporting timezones at deeper levels of detail is up to the application. The rules for time adjustment across the world are more political than rational, change frequently, and there is no standard suitable for every application aside from UTC

Constants

The module exports the following constants

datetime. MINYEAR

The smallest year number allowed in a or object. is

>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
5

waktu. MAXYEAR

The largest year number allowed in a or object. is

>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
9

datetime. UTC

Alias for the UTC timezone singleton

New in version 3. 11

Available Types

class datetime. date

An idealized naive date, assuming the current Gregorian calendar always was, and always will be, in effect. Attributes. , , and

class datetime. time

An idealized time, independent of any particular day, assuming that every day has exactly 24*60*60 seconds. (There is no notion of “leap seconds” here. ) Attributes. , , , , and

class datetime. datetime

A combination of a date and a time. Attributes. , , , , , , , and

class datetime. timedelta

A duration expressing the difference between two , , or instances to microsecond resolution

class datetime. tzinfo

An abstract base class for time zone information objects. These are used by the and classes to provide a customizable notion of time adjustment (for example, to account for time zone and/or daylight saving time)

class datetime. timezone

A class that implements the abstract base class as a fixed offset from the UTC

New in version 3. 2

Objects of these types are immutable

Subclass relationships

object
    timedelta
    tzinfo
        timezone
    time
    date
        datetime

Common Properties

The , , , and types share these common features

  • Objects of these types are immutable

  • Objects of these types are hashable, meaning that they can be used as dictionary keys

  • Objects of these types support efficient pickling via the module

Determining if an Object is Aware or Naive

Objects of the type are always naive

An object of type or may be aware or naive

A object d is aware if both of the following hold

  1. >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    02 is not
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    03

  2. >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    04 does not return
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    03

Otherwise, d is naive

A object t is aware if both of the following hold

  1. >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    07 is not
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    03

  2. >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    09 does not return
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    03

Otherwise, t is naive

The distinction between aware and naive doesn’t apply to objects

Objects

A object represents a duration, the difference between two dates or times

kelas tanggal waktu. timedelta(days=0 , seconds=0 , microseconds=0 , milliseconds=0 , minutes=0 , hours=0 , weeks=0)

All arguments are optional and default to

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
14. Arguments may be integers or floats, and may be positive or negative

Only days, seconds and microseconds are stored internally. Arguments are converted to those units

  • A millisecond is converted to 1000 microseconds

  • A minute is converted to 60 seconds

  • An hour is converted to 3600 seconds

  • A week is converted to 7 days

and days, seconds and microseconds are then normalized so that the representation is unique, with

  • >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    15

  • >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    16 (the number of seconds in one day)

  • >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    17

The following example illustrates how any arguments besides days, seconds and microseconds are “merged” and normalized into those three resulting attributes

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)

If any argument is a float and there are fractional microseconds, the fractional microseconds left over from all arguments are combined and their sum is rounded to the nearest microsecond using round-half-to-even tiebreaker. If no argument is a float, the conversion and normalization processes are exact (no information is lost)

If the normalized value of days lies outside the indicated range, is raised

Note that normalization of negative values may be surprising at first. For example

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)

Atribut kelas

timedelta. mnt

The most negative object,

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
20

timedelta. max

The most positive object,

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
22

timedelta. resolution

The smallest possible difference between non-equal objects,

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
24

Perhatikan bahwa, karena normalisasi,

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_25 >
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
26. _______________27 tidak dapat direpresentasikan sebagai objek

Atribut instance (hanya baca)

Atribut

Nilai

_______________2

Antara -999999999 dan 999999999 inklusif

_______________3

Antara 0 dan 86399 inklusif

_______________3

Antara 0 dan 999999 inklusif

Operasi yang didukung

Operasi

Hasil

_______________3

Jumlah t2 dan t3. Maka t1-t2 == t3 dan t1-t3 == t2 benar. (1)

_______________3

Difference of t2 and t3. Afterwards t1 == t2 - t3 and t2 == t1 + t3 are true. (1)(6)

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
34

Delta dikalikan dengan bilangan bulat. Afterwards t1 // i == t2 is true, provided

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
35

In general, t1 * i == t1 * (i-1) + t1 is true. (1)

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
36

Delta multiplied by a float. The result is rounded to the nearest multiple of timedelta. resolusi menggunakan putaran-setengah-ke-genap

_______________3

Pembagian (3) durasi keseluruhan t2 dengan satuan interval t3. Mengembalikan objek

_______________3

Delta dibagi dengan float atau int. Hasilnya dibulatkan ke kelipatan timedelta terdekat. resolusi menggunakan putaran-setengah-ke-genap

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_40 atau
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
4

Lantai dihitung dan sisanya (jika ada) dibuang. Dalam kasus kedua, bilangan bulat dikembalikan. (3)

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
42

Sisanya dihitung sebagai objek. (3)

__________44

Menghitung hasil bagi dan sisanya. __________45 (3) dan __________4. q adalah bilangan bulat dan r adalah objek

__________48

Mengembalikan objek dengan nilai yang sama. (2)

_______________5

setara dengan (-t1. hari, -t1. detik , -t1. mikrodetik), dan ke t1* -1. (1)(4)

_______________5

setara dengan +t saat

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
53, dan ke -t saat
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
54. (2)

_______________55

Mengembalikan string dalam bentuk

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_56, dengan D negatif untuk negatif
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
5. (5)

_______________5

Mengembalikan representasi string dari objek sebagai panggilan konstruktor dengan nilai atribut kanonis

Catatan

  1. Ini tepat tetapi mungkin meluap

  2. Ini tepat dan tidak bisa meluap

  3. Pembagian dengan 0 menimbulkan

  4. -timeshare. max tidak dapat direpresentasikan sebagai objek

  5. Representasi string objek dinormalisasi serupa dengan representasi internalnya. Hal ini menyebabkan hasil yang agak tidak biasa untuk timedelta negatif. Sebagai contoh

    _______________

  6. Ekspresi

    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    _63 akan selalu sama dengan ekspresi
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    64 kecuali jika t3 sama dengan
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    25;

Selain operasi yang tercantum di atas, objek mendukung penambahan dan pengurangan tertentu dengan objek dan (lihat di bawah)

Berubah dalam versi. 2. Pembagian lantai dan pembagian sebenarnya dari suatu objek oleh objek lain sekarang didukung, seperti operasi sisa dan fungsinya. Pembagian dan perkalian sebenarnya dari suatu objek dengan objek sekarang didukung.

Perbandingan objek didukung, dengan beberapa peringatan

Perbandingan

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
75 atau
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
76 selalu mengembalikan a , terlepas dari jenis objek yang dibandingkan

_______________

Untuk semua perbandingan lainnya (seperti

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
78 dan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
79), ketika suatu objek dibandingkan dengan objek dari jenis yang berbeda, itu dinaikkan

_______________

Dalam konteks Boolean, sebuah objek dianggap benar jika dan hanya jika tidak sama dengan _______________83

Metode instan

jangka waktu. total_detik()

Mengembalikan jumlah total detik yang terkandung dalam durasi. Setara dengan

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_84. Untuk satuan interval selain detik, gunakan bentuk pembagian secara langsung (mis. g. ___85)

Perhatikan bahwa untuk interval waktu yang sangat lama (lebih dari 270 tahun pada sebagian besar platform) metode ini akan kehilangan akurasi mikrodetik

New in version 3. 2

Contoh penggunaan.

Contoh tambahan normalisasi

_______________

Contoh aritmatika

_______________

Objects

Objek mewakili tanggal (tahun, bulan, dan hari) dalam kalender ideal, kalender Gregorian saat ini diperpanjang tanpa batas waktu di kedua arah

1 Januari tahun 1 disebut hari nomor 1, 2 Januari tahun 1 disebut hari nomor 2, dan seterusnya.

kelas tanggal waktu. date(year , month , day)

Semua argumen diperlukan. Argumen harus berupa bilangan bulat, dalam rentang berikut

  • _______________90

  • _______________91

  • ___9

Jika argumen di luar rentang tersebut diberikan, itu akan dimunculkan

Konstruktor lain, semua metode kelas

metode kelas tanggal. hari ini()

Mengembalikan tanggal lokal saat ini

Ini setara dengan

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_9

metode kelas tanggal. fromtimestamp(timestamp)

Kembalikan tanggal lokal yang sesuai dengan stempel waktu POSIX

Ini dapat meningkat , jika stempel waktu berada di luar rentang nilai yang didukung oleh fungsi platform C

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
97, dan pada kegagalan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
97. Biasanya hal ini dibatasi pada tahun-tahun dari tahun 1970 hingga. Perhatikan bahwa pada sistem non-POSIX yang menyertakan detik kabisat dalam gagasannya tentang stempel waktu, detik kabisat diabaikan oleh

Berubah dalam versi. 3. Naikkan alih-alih jika stempel waktu berada di luar rentang nilai yang didukung oleh fungsi platform C

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
97. Naikkan alih-alih pada
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_97 kegagalan.

metode kelas tanggal. dariordinal(ordinal)

Mengembalikan tanggal yang sesuai dengan ordinal Gregorian

dinaikkan kecuali

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_08. Untuk tanggal apa pun,
>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_0

metode kelas tanggal. fromisoformat(date_string)

Mengembalikan date_string terkait yang diberikan dalam format ISO 8601 yang valid, kecuali tanggal ordinal (mis. g.

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_11)

_______________

Baru dalam versi. 7

Berubah dalam versi. 11. Sebelumnya, metode ini hanya mendukung format

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
1.

metode kelas tanggal. dari isocalendar(tahun , minggu , hari)

Mengembalikan tanggal kalender ISO terkait yang ditentukan berdasarkan tahun, minggu, dan hari. Ini adalah kebalikan dari fungsi

Baru dalam versi. 8

Atribut kelas

kencan. mnt

Tanggal paling awal yang dapat diwakili,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_15

kencan. maks

Tanggal perwakilan terakhir,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
1

kencan. resolusi

Perbedaan sekecil mungkin antara objek tanggal yang tidak sama,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
1

Atribut instance (hanya baca)

kencan. tahun

Antara dan inklusif

kencan. bulan

Antara 1 dan 12 inklusif

kencan. hari

Between 1 and the number of days in the given month of the given year

Operasi yang didukung

Operasi

Hasil

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
2

tanggal2 akan menjadi

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_21 hari setelah tanggal1. (1)

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
2

Menghitung tanggal2 sehingga

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
2. (2)

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
2

(3)

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
2

date1 dianggap kurang dari date2 saat date1 mendahului date2 dalam waktu. (4)

Catatan

  1. date2 bergerak maju dalam waktu jika

    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    26, atau mundur jika
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    2. Setelah itu
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _28.
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    29 dan
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    30 diabaikan. dinaikkan jika
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _32 akan lebih kecil dari atau lebih besar dari

  2. >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    29 dan
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    30 diabaikan

  3. Ini tepat, dan tidak bisa meluap. timeshare. detik dan slot waktu. mikrodetik adalah 0, dan tanggal2 + timedelta == tanggal1 setelahnya

  4. Dengan kata lain,

    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _25 jika dan hanya jika
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    3. Perbandingan tanggal muncul jika perbandingan lainnya juga bukan objek. Namun,
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _41 dikembalikan sebagai gantinya jika pembanding lainnya memiliki atribut
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    42. Pengait ini memberi kesempatan pada objek tanggal jenis lain untuk mengimplementasikan perbandingan tipe campuran. Jika tidak, ketika suatu objek dibandingkan dengan objek dari jenis yang berbeda, itu dinaikkan kecuali perbandingannya adalah
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    75 atau
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    76. Kasus terakhir kembali atau , masing-masing

Dalam konteks Boolean, semua objek dianggap benar

Metode instan

kencan. ganti(tahun=diri. tahun , bulan=diri. bulan , hari=diri. hari)

Mengembalikan tanggal dengan nilai yang sama, kecuali untuk parameter yang diberi nilai baru dengan argumen kata kunci mana pun yang ditentukan

Contoh

_______________100

kencan. jadwal()

Kembalikan seperti yang dikembalikan oleh

Bendera DST adalah -1 Bendera DST adalah -1

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
52 setara dengan

_______________0

di mana

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_53 adalah jumlah hari dalam tahun berjalan yang dimulai dengan
>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
5 untuk tanggal 1 Januari

kencan. toordinal()

Mengembalikan ordinal ordinal Gregorian untuk Januari. Untuk objek d,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
0

kencan. hari kerja()

Mengembalikan hari dalam seminggu sebagai bilangan bulat, di mana Senin adalah 0 dan Minggu adalah. Misalnya,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_57, hari Rabu. Lihat juga

kencan. adalah hari kerja()

Mengembalikan hari dalam seminggu sebagai bilangan bulat, di mana Senin adalah 1 dan Minggu adalah. Misalnya,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_59, hari Rabu. Lihat juga ,

kencan. isokalendar()

Mengembalikan objek dengan tiga komponen.

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
1,
>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
63 dan
>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
6

Kalender ISO adalah varian kalender Gregorian yang banyak digunakan.

Tahun ISO terdiri dari 52 atau 53 minggu penuh, dan satu minggu dimulai pada hari Senin dan berakhir pada hari Minggu. Minggu pertama tahun ISO adalah minggu kalender pertama (Gregorian) dalam setahun yang berisi hari Kamis. Ini disebut minggu nomor 1, dan tahun ISO pada hari Kamis itu sama dengan tahun Gregoriannya

For example, 2004 begins on a Thursday, so the first week of ISO year 2004 begins on Monday, 29 Dec 2003 and ends on Sunday, 4 Jan 2004

_______________1

Berubah dalam versi. 9. Hasil diubah dari tuple menjadi a.

kencan. isoformat()

Kembalikan string yang mewakili tanggal dalam format ISO 8601,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
1

_______________2

kencan. __str__()

Untuk tanggal d,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_66 setara dengan
>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
6

kencan. waktu()

Mengembalikan string yang mewakili tanggal

_______________3

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
68 setara dengan

___4

pada platform di mana fungsi C

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_69 asli (yang memanggil, tetapi yang tidak memanggil) sesuai dengan standar C

kencan. strftime(format)

Mengembalikan string yang mewakili tanggal, dikontrol oleh string format eksplisit. Kode format yang mengacu pada jam, menit, atau detik akan melihat nilai 0. Untuk daftar lengkap arahan pemformatan, lihat

kencan. __format__(format)

Sama dengan. Ini memungkinkan untuk menentukan string format untuk objek di dalam dan saat menggunakan. Untuk daftar lengkap arahan pemformatan, lihat

Contoh Penggunaan.

Contoh menghitung hari untuk suatu acara

_______________5

Lebih banyak contoh bekerja dengan

_______________6

Objects

Objek adalah objek tunggal yang berisi semua informasi dari objek dan objek

Seperti sebuah objek, ini mengasumsikan kalender Gregorian saat ini diperpanjang di kedua arah;

Pembangun

kelas tanggal waktu. tanggal waktu(tahun , bulan , hari , jam= 0 , menit=0 , detik=0 , mikrodetik=0 , tzinfo =Tidak ada , * , lipat=0)

Argumen tahun, bulan, dan hari diperlukan. tzinfo mungkin

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, atau turunan dari subkelas. Argumen yang tersisa harus berupa bilangan bulat dalam rentang berikut

  • ___90,

  • _______________91,

  • _______________92,

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _90,

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _91,

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _92,

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _93,

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _94

Jika argumen di luar rentang tersebut diberikan, itu akan dimunculkan

Baru dalam versi. 6. Menambahkan

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
96 argumen.

Konstruktor lain, semua metode kelas

metode kelas tanggal waktu. hari ini()

Kembalikan datetime lokal saat ini

Setara dengan

_______________7

Lihat juga ,

Metode ini secara fungsional setara dengan , tetapi tanpa parameter

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
02

metode kelas tanggal waktu. sekarang(tz=Tidak ada )

Mengembalikan tanggal dan waktu lokal saat ini

Jika argumen opsional tz adalah

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_03 atau tidak ditentukan, ini seperti , tetapi, jika mungkin, memberikan lebih banyak presisi daripada yang bisa didapat dari melewati stempel waktu.

Jika tz bukan

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, itu harus merupakan turunan dari subkelas, dan tanggal dan waktu saat ini dikonversi ke zona waktu tz

Fungsi ini lebih disukai daripada dan

metode kelas tanggal waktu. utcnow()

Mengembalikan tanggal dan waktu saat ini

Ini seperti , tetapi mengembalikan tanggal dan waktu UTC saat ini, sebagai objek yang naif. Tanggal waktu UTC yang diketahui saat ini dapat diperoleh dengan menelepon

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
15. Lihat juga

Peringatan

Karena objek

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
7 yang naif diperlakukan oleh banyak metode
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
7 sebagai waktu lokal, lebih disukai menggunakan waktu yang diketahui untuk mewakili waktu dalam UTC. Dengan demikian, cara yang disarankan untuk membuat objek yang mewakili waktu saat ini di UTC adalah dengan memanggil _______________1

metode kelas tanggal waktu. fromtimestamp(timestamp , tz =Tidak ada)

Mengembalikan tanggal dan waktu lokal yang sesuai dengan stempel waktu POSIX. Jika argumen opsional tz adalah

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_03 atau tidak ditentukan, stempel waktu diubah menjadi tanggal dan waktu lokal platform, dan objek yang dikembalikan naif

Jika tz bukan

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, itu harus merupakan turunan dari subkelas, dan stempel waktu diubah menjadi zona waktu tz

dapat meningkat , jika stempel waktu berada di luar rentang nilai yang didukung oleh fungsi platform C

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
97 atau
>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
28, dan pada kegagalan. Biasanya ini dibatasi pada tahun 1970 sampai. Perhatikan bahwa pada sistem non-POSIX yang menyertakan detik kabisat dalam gagasannya tentang stempel waktu, detik kabisat diabaikan oleh , dan kemudian dimungkinkan untuk memiliki dua stempel waktu yang berbeda satu detik yang menghasilkan objek yang identik. Metode ini lebih disukai

Berubah dalam versi. 3. Naikkan alih-alih jika stempel waktu berada di luar rentang nilai yang didukung oleh platform C

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
97 atau
>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
28 fungsi. Menaikkan bukan pada
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
97 atau
>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
28 kegagalan.

Berubah dalam versi. 6. dapat mengembalikan instance dengan disetel ke.

metode kelas tanggal waktu. outfromtimestamp(timestamp)

Kembalikan UTC yang sesuai dengan stempel waktu POSIX. (Objek yang dihasilkan naif. )

Ini dapat meningkat , jika stempel waktu berada di luar rentang nilai yang didukung oleh fungsi platform C _________________28, dan pada kegagalan ______________________28. Biasanya ini dibatasi pada tahun 1970 sampai

Untuk memiliki objek yang sadar, panggil

_______________8

Pada platform yang sesuai dengan POSIX, ini setara dengan ekspresi berikut

___9

kecuali formula terakhir selalu mendukung rentang tahun penuh. antara dan inklusif

Peringatan

Karena objek

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
7 yang naif diperlakukan oleh banyak metode
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
7 sebagai waktu lokal, lebih disukai menggunakan waktu yang diketahui untuk mewakili waktu dalam UTC. Dengan demikian, cara yang disarankan untuk membuat objek yang mewakili stempel waktu tertentu di UTC adalah dengan memanggil _______________58

Berubah dalam versi. 3. Naikkan alih-alih jika stempel waktu berada di luar rentang nilai yang didukung oleh fungsi platform C

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
28. Naikkan bukannya pada
>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_28 kegagalan.

metode kelas tanggal waktu. dariordinal(ordinal)

Kembalikan kalender ordinal Gregorian yang sesuai. dinaikkan kecuali

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_67. Jam, menit, detik, dan mikrodetik hasilnya semuanya 0, dan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
0

metode kelas tanggal waktu. gabungkan(tanggal , waktu , tzinfo=diri sendiri. tzinfo)

Mengembalikan objek baru yang komponen tanggalnya sama dengan objek yang diberikan, dan komponen waktunya sama dengan objek yang diberikan. Jika argumen tzinfo disediakan, nilainya digunakan untuk mengatur atribut hasil, jika tidak, atribut argumen waktu digunakan

Untuk objek d,

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_7. Jika tanggal adalah objek, komponen waktu dan atributnya diabaikan

Berubah dalam versi. 6. Menambahkan argumen tzinfo.

metode kelas tanggal waktu. fromisoformat(date_string)

Mengembalikan date_string yang sesuai dalam format ISO 8601 yang valid, dengan pengecualian berikut

  1. Offset zona waktu mungkin memiliki pecahan detik

  2. The

    >>> timedelta(hours=-5)
    datetime.timedelta(days=-1, seconds=68400)
    >>> print(_)
    -1 day, 19:00:00
    
    80 separator may be replaced by any single unicode character

  3. Tanggal ordinal saat ini tidak didukung

  4. Pecahan jam dan menit tidak didukung

Contoh

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
0

Baru dalam versi. 7

Berubah dalam versi. 11. Sebelumnya, metode ini hanya mendukung format yang dapat dipancarkan oleh atau.

metode kelas tanggal waktu. dari isocalendar(tahun , minggu , hari)

Mengembalikan tanggal kalender ISO terkait yang ditentukan berdasarkan tahun, minggu, dan hari. Komponen non-tanggal dari datetime diisi dengan nilai default normalnya. Ini adalah kebalikan dari fungsi

Baru dalam versi. 8

metode kelas tanggal waktu. strptime(date_string , format )

Kembalikan date_string yang sesuai, diurai menurut format

Ini setara dengan

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
1

dimunculkan jika date_string dan format tidak dapat diuraikan oleh atau jika mengembalikan nilai yang bukan tuple waktu. Untuk daftar lengkap arahan pemformatan, lihat

Atribut kelas

waktu. mnt

Terwakili paling awal ,

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
8

waktu. maks

Perwakilan terbaru,

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_9

waktu. resolusi

The smallest possible difference between non-equal objects,

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
24

Atribut instance (hanya baca)

waktu. tahun

Antara dan inklusif

waktu. bulan

Antara 1 dan 12 inklusif

waktu. hari

Between 1 and the number of days in the given month of the given year

waktu. jam

Di

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_96

waktu. menit

Di

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_97

waktu. detik

Di

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_97

waktu. mikrodetik

Di

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_99

waktu. tzinfo

Objek diteruskan sebagai argumen tzinfo ke konstruktor, atau

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 jika tidak ada yang diteruskan

waktu. lipat

Di

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
0. Digunakan untuk membedakan waktu dinding selama interval berulang. (Interval berulang terjadi saat jam diputar mundur di penghujung waktu musim panas atau saat offset UTC untuk zona saat ini diturunkan karena alasan politik). ) Nilai 0 (1) mewakili dua momen awal (kemudian) dengan representasi waktu dinding yang sama

Baru dalam versi. 6

Operasi yang didukung

Operasi

Hasil

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_03

(1)

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_04

(2)

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_0

(3)

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_06

Compares to . (4)

  1. datetime2 adalah durasi timedelta dihapus dari datetime1, bergerak maju dalam waktu jika

    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    21 > 0, atau mundur jika
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    21 <. Hasilnya memiliki atribut yang sama dengan input datetime, dan datetime2 - datetime1 == timedelta after. dinaikkan jika datetime2. tahun akan lebih kecil dari atau lebih besar dari. Perhatikan bahwa tidak ada penyesuaian zona waktu yang dilakukan meskipun inputnya adalah objek yang sadar

  2. Menghitung datetime2 sehingga datetime2 + timedelta == datetime1. Sebagai tambahan, hasilnya memiliki atribut yang sama dengan input datetime, dan tidak ada penyesuaian zona waktu yang dilakukan meskipun inputnya diketahui

  3. Pengurangan a dari a didefinisikan hanya jika kedua operan naif, atau jika keduanya sadar. Jika yang satu sadar dan yang lain naif, diangkat

    Jika keduanya naif, atau keduanya sadar dan memiliki atribut yang sama, atribut diabaikan, dan hasilnya adalah objek t sehingga

    >>> from datetime import timedelta
    >>> delta1 = timedelta(seconds=57)
    >>> delta2 = timedelta(hours=25, seconds=2)
    >>> delta2 != delta1
    True
    >>> delta2 == 5
    False
    
    2. Tidak ada penyesuaian zona waktu yang dilakukan dalam kasus ini

    Jika keduanya sadar dan memiliki atribut yang berbeda,

    >>> from datetime import timedelta
    >>> delta1 = timedelta(seconds=57)
    >>> delta2 = timedelta(hours=25, seconds=2)
    >>> delta2 != delta1
    True
    >>> delta2 == 5
    False
    
    24 bertindak seolah-olah a dan b pertama kali dikonversi menjadi waktu waktu UTC yang naif terlebih dahulu. Hasilnya adalah
    >>> from datetime import timedelta
    >>> delta1 = timedelta(seconds=57)
    >>> delta2 = timedelta(hours=25, seconds=2)
    >>> delta2 != delta1
    True
    >>> delta2 == 5
    False
    
    _25 kecuali implementasinya tidak pernah meluap

  4. datetime1 dianggap kurang dari datetime2 saat datetime1 mendahului datetime2 dalam waktu

    Jika satu pembanding naif dan yang lain sadar, itu dimunculkan jika perbandingan pesanan dicoba. Untuk perbandingan kesetaraan, contoh naif tidak pernah sama dengan contoh sadar

    Jika kedua comparand sadar, dan memiliki atribut yang sama, atribut umum diabaikan dan waktu dasar dibandingkan. Jika kedua pembanding mengetahui dan memiliki atribut yang berbeda, pembanding disesuaikan terlebih dahulu dengan mengurangkan offset UTC-nya (diperoleh dari _______________30) .

    Berubah dalam versi. 3. Perbandingan kesetaraan antara kejadian sadar dan naif tidak meningkat.

    Catatan

    Untuk menghentikan perbandingan agar tidak jatuh kembali ke skema default untuk membandingkan alamat objek, perbandingan datetime biasanya muncul jika perbandingan lain juga bukan objek. Namun,

    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _41 dikembalikan sebagai gantinya jika pembanding lainnya memiliki atribut
    >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    42. Pengait ini memberi kesempatan pada objek tanggal jenis lain untuk mengimplementasikan perbandingan tipe campuran. Jika tidak, ketika suatu objek dibandingkan dengan objek dari jenis yang berbeda, itu dinaikkan kecuali perbandingannya adalah
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    75 atau
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    76. Kasus terakhir kembali atau , masing-masing

Metode instan

waktu. tanggal()

Mengembalikan objek dengan tahun, bulan, dan hari yang sama

waktu. waktu()

Kembalikan objek dengan jam, menit, detik, mikrodetik, dan lipat yang sama. adalah _______________0. Lihat juga metode

Berubah dalam versi. 6. Nilai lipatan disalin ke objek yang dikembalikan.

waktu. kali()

Kembalikan objek dengan atribut jam, menit, detik, mikrodetik, lipat, dan tzinfo yang sama. Lihat juga metode

Berubah dalam versi. 6. Nilai lipatan disalin ke objek yang dikembalikan.

waktu. ganti(tahun=diri. tahun , bulan=diri. bulan , hari=diri. hari , jam=diri. jam , menit=diri. menit , second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, *, fold=0)

Mengembalikan datetime dengan atribut yang sama, kecuali untuk atribut yang diberi nilai baru dengan argumen kata kunci mana pun yang ditentukan. Perhatikan bahwa

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_52 dapat ditentukan untuk membuat waktu naif dari waktu yang diketahui tanpa konversi data tanggal dan waktu

Baru dalam versi. 6. Menambahkan

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
96 argumen.

waktu. astimezone(tz=Tidak ada )

Kembalikan objek dengan atribut baru tz, sesuaikan data tanggal dan waktu sehingga hasilnya waktu UTC sama dengan diri sendiri, tetapi dalam waktu lokal tz

Jika diberikan, tz harus merupakan turunan dari subkelas, dan metode dan tidak boleh mengembalikan

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03. Jika diri naif, dianggap mewakili waktu dalam zona waktu sistem

Jika dipanggil tanpa argumen (atau dengan

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_60) zona waktu lokal sistem diasumsikan untuk zona waktu target. Atribut
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_61 dari instance datetime yang dikonversi akan disetel ke instance dengan nama zona dan offset diperoleh dari OS

Jika

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_63 adalah tz,
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
64 sama dengan diri. tidak ada penyesuaian data tanggal atau waktu yang dilakukan. Jika tidak, hasilnya adalah waktu lokal di zona waktu tz, yang menunjukkan waktu UTC yang sama dengan waktu sendiri. setelah
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_65,
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
66 akan memiliki data tanggal dan waktu yang sama dengan
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
6

Jika Anda hanya ingin melampirkan objek zona waktu tz ke datetime dt tanpa menyesuaikan data tanggal dan waktu, gunakan

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
6. Jika Anda hanya ingin menghapus objek zona waktu dari datetime dt yang diketahui tanpa konversi data tanggal dan waktu, gunakan
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
6

Perhatikan bahwa metode default dapat diganti dalam subkelas untuk memengaruhi hasil yang dikembalikan oleh. Mengabaikan kasus kesalahan, bertindak seperti

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
2

Berubah dalam versi. 3. tz sekarang dapat dihilangkan.

Berubah dalam versi. 6. Metode sekarang dapat dipanggil pada instance naif yang dianggap mewakili waktu lokal sistem.

waktu. utcoffset()

Jika

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, mengembalikan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, yang lain mengembalikan
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
78, dan memunculkan pengecualian jika yang terakhir tidak mengembalikan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 atau objek dengan besaran kurang dari satu hari

Berubah dalam versi. 7. Offset UTC tidak terbatas pada jumlah menit penuh.

waktu. dst()

Jika

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, mengembalikan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, yang lain mengembalikan
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
84, dan memunculkan pengecualian jika yang terakhir tidak mengembalikan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 atau objek dengan besaran kurang dari satu hari

Berubah dalam versi. 7. Offset DST tidak terbatas pada jumlah menit penuh.

waktu. nama()

Jika

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_03, mengembalikan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, yang lain mengembalikan
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
90, memunculkan pengecualian jika yang terakhir tidak mengembalikan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 atau objek string,

waktu. jadwal()

Kembalikan seperti yang dikembalikan oleh

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
52 setara dengan

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
3

di mana

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_53 adalah jumlah hari dalam tahun berjalan yang dimulai dengan
>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
5 untuk tanggal 1 Januari. Bendera
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_97 dari hasil diatur sesuai dengan metode. adalah
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 atau mengembalikan
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03,
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
97 diatur ke
>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
04;

waktu. utctimetuple()

Jika contoh d naif, ini sama dengan

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
52 kecuali bahwa
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
97 dipaksa untuk 0 terlepas dari apa
>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
13 kembali. DST tidak pernah berlaku untuk waktu UTC

Jika ini diketahui, ini dinormalisasi ke waktu UTC, dengan mengurangkan

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
14, dan a untuk waktu yang dinormalisasi dikembalikan.
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_97 terpaksa. Perhatikan bahwa an dapat dinaikkan jika d. tahun adalah
>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
_4 atau
>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
8 dan penyesuaian UTC melampaui batas tahun

Peringatan

Karena objek

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
7 yang naif diperlakukan oleh banyak metode
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
7 sebagai waktu lokal, lebih disukai menggunakan waktu yang diketahui untuk mewakili waktu dalam UTC; . Jika Anda memiliki
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
7 naif yang mewakili UTC, gunakan
>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
24 untuk membuatnya sadar, pada titik mana Anda dapat menggunakan

waktu. toordinal()

Mengembalikan tanggal ordinal Gregorian. Sama seperti

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
2

waktu. stempel waktu()

Kembalikan stempel waktu POSIX yang sesuai dengan instance. Nilai pengembalian serupa dengan yang dikembalikan oleh

Instance naif diasumsikan mewakili waktu lokal dan metode ini bergantung pada fungsi platform C _______________31 untuk melakukan konversi. Karena mendukung rentang nilai yang lebih luas daripada _______________31 pada banyak platform, metode ini dapat meningkatkan waktu jauh di masa lalu atau jauh di masa depan

Untuk instance sadar, nilai pengembalian dihitung sebagai

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_4

Baru dalam versi. 3

Berubah dalam versi. 6. Metode ini menggunakan atribut untuk membedakan waktu selama interval berulang.

Catatan

Tidak ada metode untuk mendapatkan stempel waktu POSIX langsung dari instance naif yang mewakili waktu UTC. Jika aplikasi Anda menggunakan konvensi ini dan zona waktu sistem Anda tidak disetel ke UTC, Anda dapat memperoleh stempel waktu POSIX dengan menyediakan

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
3

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
5

atau dengan menghitung stempel waktu secara langsung

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
6

waktu. hari kerja()

Mengembalikan hari dalam seminggu sebagai bilangan bulat, di mana Senin adalah 0 dan Minggu adalah. Sama seperti __________4. Lihat juga

waktu. adalah hari kerja()

Mengembalikan hari dalam seminggu sebagai bilangan bulat, di mana Senin adalah 1 dan Minggu adalah. Sama seperti

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
4. Lihat juga ,

waktu. isokalendar()

Return a with three components.

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
1,
>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
63 dan
>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
6. Sama seperti
>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
4

waktu. isoformat(sep=' T' , timespec='otomatis')

Kembalikan string yang mewakili tanggal dan waktu dalam format ISO 8601

  • >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    _49, jika tidak

  • __________51, jika ada

Jika tidak mengembalikan

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, sebuah string ditambahkan, memberikan offset UTC

  • _______________55, jika tidak

  • __________57, jika ada

Contoh

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
7

Argumen opsional sep (default

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
59) adalah pemisah satu karakter, ditempatkan di antara bagian tanggal dan waktu dari hasil. Sebagai contoh

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
8

Argumen opsional timespec menentukan jumlah komponen tambahan waktu yang akan disertakan (defaultnya adalah

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
60) . Itu bisa menjadi salah satu dari yang berikut

  • _______________6. Sama seperti

    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    _62 jika 0, sama seperti
    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    64 jika tidak

  • >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    _6. Sertakan the dalam format ________0______67 dua digit

  • ___68. Sertakan dan dalam format

    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    _71

  • _______________6. Sertakan , , dan dalam format

    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    76

  • ___77. Sertakan waktu penuh, tetapi potong bagian kedua pecahan menjadi milidetik. format _______________78

  • _______________6. Sertakan purna waktu dalam format

    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    80

Catatan

Komponen waktu yang dikecualikan dipotong, bukan dibulatkan

akan dimunculkan pada argumen timespec yang tidak valid

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_9

Baru dalam versi. 6. Menambahkan argumen timespec.

waktu. __str__()

Misalnya d,

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
66 setara dengan
>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
84

waktu. waktu()

Mengembalikan string yang mewakili tanggal dan waktu

_______________0

String keluaran tidak akan menyertakan informasi zona waktu, terlepas dari apakah masukannya sadar atau naif

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
68 setara dengan

___4

pada platform di mana fungsi C

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
_69 asli (yang memanggil, tetapi yang tidak memanggil) sesuai dengan standar C

waktu. strftime(format)

Mengembalikan string yang mewakili tanggal dan waktu, dikontrol oleh string format eksplisit. Untuk daftar lengkap arahan pemformatan, lihat

waktu. __format__(format)

Sama dengan. Ini memungkinkan untuk menentukan string format untuk objek di dalam dan saat menggunakan. Untuk daftar lengkap arahan pemformatan, lihat

Contoh Penggunaan.

Contoh bekerja dengan objek

_______________2

Contoh di bawah menentukan subkelas yang menangkap informasi zona waktu untuk Kabul, Afghanistan, yang menggunakan +4 UTC hingga tahun 1945 dan kemudian +4. 30 UTC sesudahnya

_______________3

Penggunaan

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
_95 dari atas

___4

Objects

Objek mewakili waktu (lokal) dalam sehari, terlepas dari hari tertentu, dan dapat disesuaikan melalui objek

kelas tanggal waktu. waktu(jam=0 , menit=0 , detik=0 , mikrodetik =0 , tzinfo= Tidak ada , * , lipat =0)

Semua argumen bersifat opsional. tzinfo mungkin

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, atau turunan dari subkelas. Argumen yang tersisa harus berupa bilangan bulat dalam rentang berikut

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _90,

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _91,

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _92,

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _93,

  • >>> from datetime import timedelta
    >>> d = timedelta(microseconds=-1)
    >>> (d.days, d.seconds, d.microseconds)
    (-1, 86399, 999999)
    
    _94

Jika argumen di luar rentang tersebut diberikan, itu akan dimunculkan. Semua default ke

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
_14 kecuali tzinfo, yang defaultnya ke

Atribut kelas

time. mnt

Terwakili paling awal ,

>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
_1

waktu. maks

Perwakilan terbaru,

>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
_1

waktu. resolusi

Perbedaan sekecil mungkin antara objek yang tidak sama,

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
24, meskipun perhatikan bahwa aritmatika pada objek tidak didukung

Atribut instance (hanya baca)

waktu. jam

Di

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_96

time. minute

Di

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_97

time. second

Di

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_97

time. microsecond

Di

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
_99

time. tzinfo

Objek diteruskan sebagai argumen tzinfo ke konstruktor, atau

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 jika tidak ada yang diteruskan

time. fold

Di

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
0. Digunakan untuk membedakan waktu dinding selama interval berulang. (Interval berulang terjadi saat jam diputar mundur di penghujung waktu musim panas atau saat offset UTC untuk zona saat ini diturunkan karena alasan politik). ) Nilai 0 (1) mewakili dua momen awal (kemudian) dengan representasi waktu dinding yang sama

Baru dalam versi. 6

objects support comparison of to , where a is considered less than b when a precedes b in time. If one comparand is naive and the other is aware, is raised if an order comparison is attempted. For equality comparisons, naive instances are never equal to aware instances

If both comparands are aware, and have the same attribute, the common attribute is ignored and the base times are compared. If both comparands are aware and have different attributes, the comparands are first adjusted by subtracting their UTC offsets (obtained from

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
30). In order to stop mixed-type comparisons from falling back to the default comparison by object address, when a object is compared to an object of a different type, is raised unless the comparison is
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
75 or
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
76. The latter cases return or , respectively

Berubah dalam versi. 3. Perbandingan kesetaraan antara kejadian sadar dan naif tidak meningkat.

In Boolean contexts, a object is always considered to be true

Changed in version 3. 5. Before Python 3. 5, a object was considered to be false if it represented midnight in UTC. This behavior was considered obscure and error-prone and has been removed in Python 3. 5. See bpo-13936 for full details.

Other constructor

classmethod time. fromisoformat(time_string)

Return a corresponding to a time_string in any valid ISO 8601 format, with the following exceptions

  1. Offset zona waktu mungkin memiliki pecahan detik

  2. The leading

    >>> timedelta(hours=-5)
    datetime.timedelta(days=-1, seconds=68400)
    >>> print(_)
    -1 day, 19:00:00
    
    80, normally required in cases where there may be ambiguity between a date and a time, is not required

  3. Fractional seconds may have any number of digits (anything beyond 6 will be truncated)

  4. Pecahan jam dan menit tidak didukung

Contoh

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
5

Baru dalam versi. 7

Changed in version 3. 11. Previously, this method only supported formats that could be emitted by .

Metode instan

time. replace(hour=self. hour , minute=self. minute , second=self. second , microsecond=self. microsecond , tzinfo=self. tzinfo , * , fold=0)

Return a with the same value, except for those attributes given new values by whichever keyword arguments are specified. Note that

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
52 can be specified to create a naive from an aware , without conversion of the time data

Baru dalam versi. 6. Menambahkan

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
96 argumen.

time. isoformat(timespec='auto')

Return a string representing the time in ISO 8601 format, one of

  • >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    80, if is not 0

  • >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    76, if is 0

  • >>> # Components of another_year add up to exactly 365 days
    >>> from datetime import timedelta
    >>> year = timedelta(days=365)
    >>> another_year = timedelta(weeks=40, days=84, hours=23,
    ..                          minutes=50, seconds=600)
    >>> year == another_year
    True
    >>> year.total_seconds()
    31536000.0
    
    53, if does not return
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    03

  • >>> # Components of another_year add up to exactly 365 days
    >>> from datetime import timedelta
    >>> year = timedelta(days=365)
    >>> another_year = timedelta(weeks=40, days=84, hours=23,
    ..                          minutes=50, seconds=600)
    >>> year == another_year
    True
    >>> year.total_seconds()
    31536000.0
    
    56, if is 0 and does not return
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    03

Argumen opsional timespec menentukan jumlah komponen tambahan waktu yang akan disertakan (defaultnya adalah

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
60) . Itu bisa menjadi salah satu dari yang berikut

  • _______________6. Sama seperti

    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    _62 jika 0, sama seperti
    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    64 jika tidak

  • >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    _6. Sertakan the dalam format ________0______67 dua digit

  • ___68. Sertakan dan dalam format

    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    _71

  • _______________6. Sertakan , , dan dalam format

    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    76

  • ___77. Sertakan waktu penuh, tetapi potong bagian kedua pecahan menjadi milidetik. format _______________78

  • _______________6. Sertakan purna waktu dalam format

    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    80

Catatan

Komponen waktu yang dikecualikan dipotong, bukan dibulatkan

will be raised on an invalid timespec argument

Contoh

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
6

Baru dalam versi. 6. Menambahkan argumen timespec.

time. __str__()

For a time t,

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
55 is equivalent to
>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
83

time. strftime(format)

Return a string representing the time, controlled by an explicit format string. For a complete list of formatting directives, see

time. __format__(format)

Sama dengan. Ini memungkinkan untuk menentukan string format untuk objek di dalam dan saat menggunakan. Untuk daftar lengkap arahan pemformatan, lihat

time. utcoffset()

If is

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, returns
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, else returns
>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
90, and raises an exception if the latter doesn’t return
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 or a object with magnitude less than one day

Berubah dalam versi. 7. Offset UTC tidak terbatas pada jumlah menit penuh.

time. dst()

If is

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, returns
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, else returns
>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
96, and raises an exception if the latter doesn’t return
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, or a object with magnitude less than one day

Berubah dalam versi. 7. Offset DST tidak terbatas pada jumlah menit penuh.

time. tzname()

If is

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, returns
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, else returns
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
02, or raises an exception if the latter doesn’t return
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 or a string object

Contoh Penggunaan.

Examples of working with a object

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
7

Objects

class datetime. tzinfo

This is an abstract base class, meaning that this class should not be instantiated directly. Define a subclass of to capture information about a particular time zone

An instance of (a concrete subclass of) can be passed to the constructors for and objects. The latter objects view their attributes as being in local time, and the object supports methods revealing offset of local time from UTC, the name of the time zone, and DST offset, all relative to a date or time object passed to them

You need to derive a concrete subclass, and (at least) supply implementations of the standard methods needed by the methods you use. The module provides , a simple concrete subclass of which can represent timezones with fixed offset from UTC such as UTC itself or North American EST and EDT

Special requirement for pickling. A subclass must have an

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
18 method that can be called with no arguments, otherwise it can be pickled but possibly not unpickled again. This is a technical requirement that may be relaxed in the future

A concrete subclass of may need to implement the following methods. Exactly which methods are needed depends on the uses made of aware objects. If in doubt, simply implement all of them

tzinfo. utcoffset(dt)

Return offset of local time from UTC, as a object that is positive east of UTC. If local time is west of UTC, this should be negative

This represents the total offset from UTC; for example, if a object represents both time zone and DST adjustments, should return their sum. If the UTC offset isn’t known, return

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03. Else the value returned must be a object strictly between
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
26 and
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
27 (the magnitude of the offset must be less than one day). Most implementations of will probably look like one of these two

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
8

If does not return

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, should not return
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 either

The default implementation of raises

Berubah dalam versi. 7. Offset UTC tidak terbatas pada jumlah menit penuh.

tzinfo. dst(dt)

Return the daylight saving time (DST) adjustment, as a object or

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 if DST information isn’t known

Return

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
83 if DST is not in effect. If DST is in effect, return the offset as a object (see for details). Note that DST offset, if applicable, has already been added to the UTC offset returned by , so there’s no need to consult unless you’re interested in obtaining DST info separately. For example, calls its attribute’s method to determine how the
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
97 flag should be set, and calls to account for DST changes when crossing time zones

An instance tz of a subclass that models both standard and daylight times must be consistent in this sense

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
49

must return the same result for every dt with

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
51 For sane subclasses, this expression yields the time zone’s “standard offset”, which should not depend on the date or the time, but only on geographic location. The implementation of relies on this, but cannot detect violations; it’s the programmer’s responsibility to ensure it. If a subclass cannot guarantee this, it may be able to override the default implementation of to work correctly with
>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
72 regardless

Most implementations of will probably look like one of these two

>>> timedelta(hours=-5)
datetime.timedelta(days=-1, seconds=68400)
>>> print(_)
-1 day, 19:00:00
9

or

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
0

The default implementation of raises

Berubah dalam versi. 7. Offset DST tidak terbatas pada jumlah menit penuh.

tzinfo. tzname(dt)

Return the time zone name corresponding to the object dt, as a string. Nothing about string names is defined by the module, and there’s no requirement that it mean anything in particular. For example, “GMT”, “UTC”, “-500”, “-5. 00”, “EDT”, “US/Eastern”, “America/New York” are all valid replies. Return

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 if a string name isn’t known. Note that this is a method rather than a fixed string primarily because some subclasses will wish to return different names depending on the specific value of dt passed, especially if the class is accounting for daylight time

The default implementation of raises

These methods are called by a or object, in response to their methods of the same names. A object passes itself as the argument, and a object passes

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 as the argument. A subclass’s methods should therefore be prepared to accept a dt argument of
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03, or of class

When

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 is passed, it’s up to the class designer to decide the best response. For example, returning
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03 is appropriate if the class wishes to say that time objects don’t participate in the protocols. It may be more useful for
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
78 to return the standard UTC offset, as there is no other convention for discovering the standard offset

When a object is passed in response to a method,

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
81 is the same object as self. methods can rely on this, unless user code calls methods directly. The intent is that the methods interpret dt as being in local time, and not need worry about objects in other timezones

There is one more method that a subclass may wish to override

tzinfo. fromutc(dt)

Ini dipanggil dari implementasi default. Ketika dipanggil dari itu,

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
81 adalah diri sendiri, dan data tanggal dan waktu itu harus dilihat sebagai menyatakan waktu UTC. The purpose of is to adjust the date and time data, returning an equivalent datetime in self’s local time

Sebagian besar subclass harus dapat mewarisi implementasi default tanpa masalah. Ini cukup kuat untuk menangani zona waktu fixed-offset, dan zona waktu memperhitungkan waktu standar dan siang hari, dan yang terakhir bahkan jika waktu transisi DST bervariasi di tahun yang berbeda. Contoh zona waktu yang implementasi defaultnya mungkin tidak ditangani dengan benar dalam semua kasus adalah di mana offset standar (dari UTC) bergantung pada tanggal dan waktu tertentu yang telah berlalu, yang dapat terjadi karena alasan politik. Implementasi default dari

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_72 dan mungkin tidak menghasilkan hasil yang Anda inginkan jika hasilnya adalah salah satu jam yang mengangkang saat offset standar berubah

Skipping code for error cases, the default implementation acts like

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_1

File

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
_95 berikut berisi beberapa contoh kelas

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
_2

Perhatikan bahwa ada seluk-beluk yang tidak dapat dihindari dua kali per tahun dalam akuntansi subkelas untuk waktu standar dan siang hari, pada titik transisi DST. Untuk konkretnya, pertimbangkan US Eastern (UTC -0500), di mana EDT dimulai beberapa menit setelahnya. 59 (EST) pada hari Minggu kedua bulan Maret, berakhir pada 1 menit. 59 (EDT) on the first Sunday in November

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
3

When DST starts (the “start” line), the local wall clock leaps from 1. 59 to 3. 00. A wall time of the form 2. MM doesn’t really make sense on that day, so

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
98 won’t deliver a result with
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
99 on the day DST begins. For example, at the Spring forward transition of 2016, we get

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
4

When DST ends (the “end” line), there’s a potentially worse problem. there’s an hour that can’t be spelled unambiguously in local wall time. the last hour of daylight time. In Eastern, that’s times of the form 5. MM UTC on the day daylight time ends. The local wall clock leaps from 1. 59 (daylight time) back to 1. 00 (standard time) again. Local times of the form 1. MM are ambiguous.

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
72 mimics the local clock’s behavior by mapping two adjacent UTC hours into the same local hour then. In the Eastern example, UTC times of the form 5. MM and 6. MM both map to 1. MM when converted to Eastern, but earlier times have the attribute set to 0 and the later times have it set to 1. For example, at the Fall back transition of 2016, we get

>>> from datetime import timedelta
>>> delta1 = timedelta(seconds=57)
>>> delta2 = timedelta(hours=25, seconds=2)
>>> delta2 != delta1
True
>>> delta2 == 5
False
5

Note that the instances that differ only by the value of the attribute are considered equal in comparisons

Applications that can’t bear wall-time ambiguities should explicitly check the value of the attribute or avoid using hybrid subclasses; there are no ambiguities when using , or any other fixed-offset subclass (such as a class representing only EST (fixed offset -5 hours), or only EDT (fixed offset -4 hours))

Lihat juga

The module has a basic class (for handling arbitrary fixed offsets from UTC) and its attribute (a UTC timezone instance)

>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
1 brings the IANA timezone database (also known as the Olson database) to Python, and its usage is recommended

IANA timezone database

The Time Zone Database (often called tz, tzdata or zoneinfo) contains code and data that represent the history of local time for many representative locations around the globe. It is updated periodically to reflect changes made by political bodies to time zone boundaries, UTC offsets, and daylight-saving rules

Objects

The class is a subclass of , each instance of which represents a timezone defined by a fixed offset from UTC

Objects of this class cannot be used to represent timezone information in the locations where different offsets are used in different days of the year or where historical changes have been made to civil time

class datetime. timezone(offset , name=None)

The offset argument must be specified as a object representing the difference between the local time and UTC. It must be strictly between

>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
26 and
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> ten_years = 10 * year
>>> ten_years
datetime.timedelta(days=3650)
>>> ten_years.days // 365
10
>>> nine_years = ten_years - year
>>> nine_years
datetime.timedelta(days=3285)
>>> three_years = nine_years // 3
>>> three_years, three_years.days // 365
(datetime.timedelta(days=1095), 3)
27, otherwise is raised

The name argument is optional. Jika ditentukan, itu harus berupa string yang akan digunakan sebagai nilai yang dikembalikan oleh metode

New in version 3. 2

Berubah dalam versi. 7. Offset UTC tidak terbatas pada jumlah menit penuh.

timezone. utcoffset(dt)

Return the fixed value specified when the instance is constructed

The dt argument is ignored. The return value is a instance equal to the difference between the local time and UTC

Berubah dalam versi. 7. Offset UTC tidak terbatas pada jumlah menit penuh.

timezone. tzname(dt)

Return the fixed value specified when the instance is constructed

If name is not provided in the constructor, the name returned by

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
24 is generated from the value of the
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
25 as follows. If offset is
>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
83, the name is “UTC”, otherwise it is a string in the format
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
27, where ± is the sign of
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
25, HH and MM are two digits of
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
29 and
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
30 respectively

Changed in version 3. 6. Name generated from

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
31 is now plain
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
32, not
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
33.

timezone. dst(dt)

Always returns

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
03

timezone. fromutc(dt)

Return

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
35. The dt argument must be an aware instance, with
>>> delta2 > delta1
True
>>> delta2 > 5
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
4 set to
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
38

Atribut kelas

timezone. utc

The UTC timezone,

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
39

>>> from datetime import date >>> date.fromisoformat('2019-12-04') datetime.date(2019, 12, 4) >>> date.fromisoformat('20191204') datetime.date(2019, 12, 4) >>> date.fromisoformat('2021-W01-1') datetime.date(2021, 1, 4) 40 and >>> from datetime import date >>> date.fromisoformat('2019-12-04') datetime.date(2019, 12, 4) >>> date.fromisoformat('20191204') datetime.date(2019, 12, 4) >>> date.fromisoformat('2021-W01-1') datetime.date(2021, 1, 4) 41 Behavior

, , and objects all support a

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
45 method, to create a string representing the time under the control of an explicit format string

Conversely, the class method creates a object from a string representing a date and time and a corresponding format string

The table below provides a high-level comparison of

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
40 versus
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
41

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
50

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
51

Usage

Convert object to a string according to a given format

Parse a string into a object given a corresponding format

Type of method

Instance method

Class method

Method of

; ;

Signature

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
45

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
58

>>> from datetime import date >>> date.fromisoformat('2019-12-04') datetime.date(2019, 12, 4) >>> date.fromisoformat('20191204') datetime.date(2019, 12, 4) >>> date.fromisoformat('2021-W01-1') datetime.date(2021, 1, 4) 40 and >>> from datetime import date >>> date.fromisoformat('2019-12-04') datetime.date(2019, 12, 4) >>> date.fromisoformat('20191204') datetime.date(2019, 12, 4) >>> date.fromisoformat('2021-W01-1') datetime.date(2021, 1, 4) 41 Format Codes

The following is a list of all the format codes that the 1989 C standard requires, and these work on all platforms with a standard C implementation

Directive

Meaning

Example

Notes

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
61

Weekday as locale’s abbreviated name

Sun, Mon, …, Sat (en_US);

So, Mo, …, Sa (de_DE)

(1)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
62

Weekday as locale’s full name

Minggu, Senin, ..., Sabtu (in_US);

Sonntag, Montag, …, Samstag (de_DE)

(1)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
63

Weekday as a decimal number, where 0 is Sunday and 6 is Saturday

0, 1, …, 6

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
64

Hari dalam sebulan sebagai angka desimal tanpa bantalan

01, 02, …, 31

(9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
65

Bulan sebagai nama singkatan lokal

Jan, Feb, ..., Des (in_US);

Jan, Feb, ..., Des (of_THE)

(1)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
_6

Month as locale’s full name

January, February, …, December (en_US);

Januar, Februar, …, Dezember (de_DE)

(1)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
67

Month as a zero-padded decimal number

01, 02, …, 12

(9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
68

Year without century as a zero-padded decimal number

00, 01, …, 99

(9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
69

Year with century as a decimal number

0001, 0002, …, 2013, 2014, …, 9998, 9999

(2)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
70

Hour (24-hour clock) as a zero-padded decimal number

00, 01, …, 23

(9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
71

Hour (12-hour clock) as a zero-padded decimal number

01, 02, …, 12

(9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
72

Locale’s equivalent of either AM or PM

AM, PM (en_US);

am, pm (de_DE)

(1), (3)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
73

Minute as a zero-padded decimal number

00, 01, …, 59

(9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
74

Second as a zero-padded decimal number

00, 01, …, 59

(4), (9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
75

Microsecond as a decimal number, zero-padded to 6 digits

000000, 000001, …, 999999

(5)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
76

UTC offset in the form

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
77 (empty string if the object is naive)

(empty), +0000, -0400, +1030, +063415, -030712. 345216

(6)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
78

Time zone name (empty string if the object is naive)

(empty), UTC, GMT

(6)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
79

Day of the year as a zero-padded decimal number

001, 002, …, 366

(9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
80

Week number of the year (Sunday as the first day of the week) as a zero-padded decimal number. All days in a new year preceding the first Sunday are considered to be in week 0

00, 01, …, 53

(7), (9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
81

Week number of the year (Monday as the first day of the week) as a zero-padded decimal number. All days in a new year preceding the first Monday are considered to be in week 0

00, 01, …, 53

(7), (9)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
82

Locale’s appropriate date and time representation

Tue Aug 16 21. 30. 00 1988 (en_US);

Di 16 Aug 21. 30. 00 1988 (de_DE)

(1)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
83

Locale’s appropriate date representation

08/16/88 (None);

08/16/1988 (en_US);

16. 08. 1988 (de_DE)

(1)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
84

Locale’s appropriate time representation

21. 30. 00 (en_US);

21. 30. 00 (de_DE)

(1)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
85

A literal

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
86 character

%

Beberapa arahan tambahan yang tidak diperlukan oleh standar C89 disertakan untuk kenyamanan. These parameters all correspond to ISO 8601 date values

Directive

Meaning

Example

Notes

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
87

ISO 8601 year with century representing the year that contains the greater part of the ISO week (

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
88)

0001, 0002, …, 2013, 2014, …, 9998, 9999

(8)

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
89

ISO 8601 weekday as a decimal number where 1 is Monday

1, 2, …, 7

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
88

ISO 8601 week as a decimal number with Monday as the first day of the week. Week 01 is the week containing Jan 4

01, 02, …, 53

(8), (9)

Ini mungkin tidak tersedia di semua platform saat digunakan dengan metode

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
40. The ISO 8601 year and ISO 8601 week directives are not interchangeable with the year and week number directives above. Calling
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
41 with incomplete or ambiguous ISO 8601 directives will raise a

The full set of format codes supported varies across platforms, because Python calls the platform C library’s

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
40 function, and platform variations are common. To see the full set of format codes supported on your platform, consult the strftime(3) documentation. There are also differences between platforms in handling of unsupported format specifiers

Baru dalam versi. 6.

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
87,
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
89 dan
>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
88 ditambahkan.

Technical Detail

Broadly speaking,

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
98 acts like the module’s
>>> from datetime import date
>>> d = date(2002, 12, 31)
>>> d.replace(day=26)
datetime.date(2002, 12, 26)
00 although not all objects support a
>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
42 method

For the class method, the default value is

>>> from datetime import date
>>> d = date(2002, 12, 31)
>>> d.replace(day=26)
datetime.date(2002, 12, 26)
03. any components not specified in the format string will be pulled from the default value.

Using

>>> from datetime import date
>>> d = date(2002, 12, 31)
>>> d.replace(day=26)
datetime.date(2002, 12, 26)
04 is equivalent to

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)
1

except when the format includes sub-second components or timezone offset information, which are supported in

>>> from datetime import date
>>> d = date(2002, 12, 31)
>>> d.replace(day=26)
datetime.date(2002, 12, 26)
05 but are discarded by
>>> from datetime import date
>>> d = date(2002, 12, 31)
>>> d.replace(day=26)
datetime.date(2002, 12, 26)
06

For objects, the format codes for year, month, and day should not be used, as objects have no such values. If they’re used anyway,

>>> from datetime import date
>>> d = date(2002, 12, 31)
>>> d.replace(day=26)
datetime.date(2002, 12, 26)
09 is substituted for the year, and
>>> # Components of another_year add up to exactly 365 days
>>> from datetime import timedelta
>>> year = timedelta(days=365)
>>> another_year = timedelta(weeks=40, days=84, hours=23,
..                          minutes=50, seconds=600)
>>> year == another_year
True
>>> year.total_seconds()
31536000.0
5 for the month and day

For objects, the format codes for hours, minutes, seconds, and microseconds should not be used, as objects have no such values. If they’re used anyway,

>>> from datetime import timedelta
>>> delta = timedelta(
..     days=50,
..     seconds=27,
..     microseconds=10,
..     milliseconds=29000,
..     minutes=5,
..     hours=8,
..     weeks=2
.. )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)
14 is substituted for them

For the same reason, handling of format strings containing Unicode code points that can’t be represented in the charset of the current locale is also platform-dependent. On some platforms such code points are preserved intact in the output, while on others

>>> from datetime import date
>>> date.fromisoformat('2019-12-04')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('20191204')
datetime.date(2019, 12, 4)
>>> date.fromisoformat('2021-W01-1')
datetime.date(2021, 1, 4)
50 may raise or return an empty string instead

Catatan

  1. Because the format depends on the current locale, care should be taken when making assumptions about the output value. Field orderings will vary (for example, “month/day/year” versus “day/month/year”), and the output may contain Unicode characters encoded using the locale’s default encoding (for example, if the current locale is

    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    16, the default encoding could be any one of
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    17,
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    18, or
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    19; use to determine the current locale’s encoding)

  2. The

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    41 method can parse years in the full [1, 9999] range, but years < 1000 must be zero-filled to 4-digit width

    Changed in version 3. 2. In previous versions,

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    40 method was restricted to years >= 1900.

    Changed in version 3. 3. In version 3. 2,

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    40 method was restricted to years >= 1000.

  3. When used with the

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    41 method, the
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    72 directive only affects the output hour field if the
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    71 directive is used to parse the hour

  4. Unlike the module, the module does not support leap seconds

  5. When used with the

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    41 method, the
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    75 directive accepts from one to six digits and zero pads on the right.
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    75 is an extension to the set of format characters in the C standard (but implemented separately in datetime objects, and therefore always available)

  6. For a naive object, the

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    76 and
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    78 format codes are replaced by empty strings

    Untuk objek sadar

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    76

    >>> from datetime import timedelta
    >>> delta1 = timedelta(seconds=57)
    >>> delta2 = timedelta(hours=25, seconds=2)
    >>> delta2 != delta1
    True
    >>> delta2 == 5
    False
    
    57 is transformed into a string of the form
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    77, where
    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    67 is a 2-digit string giving the number of UTC offset hours,
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    38 is a 2-digit string giving the number of UTC offset minutes,
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    39 is a 2-digit string giving the number of UTC offset seconds and
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    40 is a 6-digit string giving the number of UTC offset microseconds. The
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    40 part is omitted when the offset is a whole number of seconds and both the
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    40 and the
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    39 part is omitted when the offset is a whole number of minutes. For example, if
    >>> from datetime import timedelta
    >>> delta1 = timedelta(seconds=57)
    >>> delta2 = timedelta(hours=25, seconds=2)
    >>> delta2 != delta1
    True
    >>> delta2 == 5
    False
    
    57 returns
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    45,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    76 is replaced with the string
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    47

    Berubah dalam versi. 7. Offset UTC tidak terbatas pada jumlah menit penuh.

    Changed in version 3. 7. When the

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    76 directive is provided to the
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    41 method, the UTC offsets can have a colon as a separator between hours, minutes and seconds. For example,
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    50 will be parsed as an offset of one hour. In addition, providing
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    51 is identical to
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    52.

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    78

    In

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    40,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    78 is replaced by an empty string if
    >>> from datetime import timedelta
    >>> year = timedelta(days=365)
    >>> ten_years = 10 * year
    >>> ten_years
    datetime.timedelta(days=3650)
    >>> ten_years.days // 365
    10
    >>> nine_years = ten_years - year
    >>> nine_years
    datetime.timedelta(days=3285)
    >>> three_years = nine_years // 3
    >>> three_years, three_years.days // 365
    (datetime.timedelta(days=1095), 3)
    
    65 returns
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    03; otherwise
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    78 is replaced by the returned value, which must be a string

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    41 only accepts certain values for
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    78

    1. any value in

      >>> from datetime import date
      >>> d = date(2002, 12, 31)
      >>> d.replace(day=26)
      datetime.date(2002, 12, 26)
      
      61 for your machine’s locale

    2. the hard-coded values

      >>> from datetime import date
      >>> d = date(2002, 12, 31)
      >>> d.replace(day=26)
      datetime.date(2002, 12, 26)
      
      62 and
      >>> from datetime import date
      >>> d = date(2002, 12, 31)
      >>> d.replace(day=26)
      datetime.date(2002, 12, 26)
      
      63

    So someone living in Japan may have

    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    64,
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    62, and
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    63 as valid values, but probably not
    >>> from datetime import date
    >>> d = date(2002, 12, 31)
    >>> d.replace(day=26)
    datetime.date(2002, 12, 26)
    
    67. It will raise
    >>> from datetime import timedelta
    >>> delta = timedelta(
    ..     days=50,
    ..     seconds=27,
    ..     microseconds=10,
    ..     milliseconds=29000,
    ..     minutes=5,
    ..     hours=8,
    ..     weeks=2
    .. )
    >>> # Only days, seconds, and microseconds remain
    >>> delta
    datetime.timedelta(days=64, seconds=29156, microseconds=10)
    
    93 for invalid values

    Changed in version 3. 2. When the

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    76 directive is provided to the
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    41 method, an aware object will be produced. The
    >>> delta2 > delta1
    True
    >>> delta2 > 5
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '>' not supported between instances of 'datetime.timedelta' and 'int'
    
    4 of the result will be set to a instance.

  7. When used with the

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    41 method,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    80 and
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    81 are only used in calculations when the day of the week and the calendar year (
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    69) are specified

  8. Similar to

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    80 and
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    81,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    88 is only used in calculations when the day of the week and the ISO year (
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    87) are specified in a
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    41 format string. Also note that
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    87 and
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    69 are not interchangeable

  9. When used with the

    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    41 method, the leading zero is optional for formats
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    64,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    67,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    70,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    71,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    73,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    74,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    79,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    80,
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    81, and
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    88. Format
    >>> from datetime import date
    >>> date.fromisoformat('2019-12-04')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('20191204')
    datetime.date(2019, 12, 4)
    >>> date.fromisoformat('2021-W01-1')
    datetime.date(2021, 1, 4)
    
    68 does require a leading zero

Footnotes

If, that is, we ignore the effects of Relativity

This matches the definition of the “proleptic Gregorian” calendar in Dershowitz and Reingold’s book Calendrical Calculations, where it’s the base calendar for all computations. See the book for algorithms for converting between proleptic Gregorian ordinals and many other calendar systems

How do you convert UTC to GMT?

Time Difference .
Universal Time Coordinated is 0 hours ahead of Greenwich Mean Time. 2. 00 am in UTC is 2. 00 am in GMT
2. 00 am Universal Time Coordinated (UTC). Offset UTC 0. 00 hours. 2. 00 am Greenwich Mean Time (GMT). Offset UTC 0. 00 hours
2. 00 am UTC / 2. 00 am GMT

How to convert UTC time to local timezone in Python?

Here first Import dateime,tzutc and tzlocal python module. After that using the datetime. now(tzutc()), I am getting the current UTC date and time. To convert the UTC time to local time I am using the dot operator on UTC time and passing the tzlocal() method inside the astimezone() function .

How to convert UTC time to timestamp in Python?

You can use the datetime module to convert a datetime to a UTC timestamp in Python . If you already have the datetime object in UTC, you can the timestamp() to get a UTC timestamp. This function returns the time since epoch for that datetime object.

How do I convert one timezone to another timezone in Python?

Masukkan format tanggal sebagai string menggunakan fungsi input() dan buat variabel untuk menyimpannya. Dapatkan waktu saat ini menggunakan datetime. fungsi now () (mengembalikan tanggal dan waktu lokal saat ini) dan meneruskan fungsi zona waktu () (mendapatkan zona waktu dari lokasi tertentu) dengan zona waktu sebagai argumen untuk mengatakan 'UTC'