Mengonversi datetime ke python zona waktu lain
Time zone for time. Corresponding timestamps would be converted to this time zone of the Datetime Array/Index. A tz of None will convert to UTC and remove the timezone information Show
If Datetime Array/Index is tz-naive See also A timezone that has a variable offset from UTC Localize tz-naive DatetimeIndex to a given time zone, or remove timezone from a tz-aware DatetimeIndex I generally find Python a very versatile language that allows you to do a lot of things without having to expend a lot of effort. However I have run into some issues with the datetime module For basic purpose the datetime module is quite sufficient, but the sadly timezones cannot be manipulated and used just with the datetime module. For example a simple task as converting the date time object from one timezone to another can be pretty daunting. So I will use this as an example to show how you can deal with timezones A simple datetime object is called timezone naive. So when we do the following
This creates a datetime object, that does not have any information about the timezone, and uses the current time of the system. To use timezone with it, you need to convert this into a timezone aware aware object. This can be done with using the replace function as follows _There are two things, first how can we get the tzinfo object, and second is, does the now object contain the correct datetime according to the timezone that you have entered. I will come to the first part later, but the answer to the second part is NO What replace does is that it just populates the tzinfo field, and simply accepts that you have given the correct timezone for the datetime. So suppose you are in India (your timezone being Asia/Kolkata) and you set the tzinfo for Europe/Berlin then it would simply accept that the current time of the system is actually the Europe/Berlin system, which is actually wrong So if you want to convert datetime from one timezone to another, you have to use
Here we must see that we cannot directly use Now coming to the point how we can get the different timezones. And that is not a very straight forward task. We have to use two modules for that 0 and 1 both of which are pretty handy. So if we need to get the current timezone then we would do the following
And suppose we want to convert this to utc datetime then we would do
Using just the dateutil module does not give us a lot of flexibility because we can only get the tzlocal() and tzutc(), but what if we have to convert datetime to some other timezone. In that case we will have to use pytz module. Suppose you know that your timezone is 'Asia\Kolkata' and you want to convert datetime from some other timezone you would do the following
As I said before the dateutil and pytz modules are pretty handy and can be used for other things as well. You are free to explore them if you want to. Just to give an example suppose you have a datetime in string as 5 P. M. 21st January dateutil can parse it into a datetime object as
Catatan. If you are using dateutil with python2. x you are likely to get an error because they are some incompatibilities, so you must also install python-dateutil==1. 5 While date and time arithmetic is supported, the focus of the implementation is on efficient attribute extraction for output formatting and manipulation See also ModuleGeneral calendar related functions ModuleTime access and conversions ModuleConcrete time zones representing the IANA time zone database Package dateutilThird-party library with expanded time zone and parsing support Aware and Naive ObjectsDate and time objects may be categorized as “aware” or “naive” depending on whether or not they include timezone information With sufficient knowledge of applicable algorithmic and political time adjustments, such as time zone and daylight saving time information, an aware object can locate itself relative to other aware objects. An aware object represents a specific moment in time that is not open to interpretation. A naive object does not contain enough information to unambiguously locate itself relative to other date/time objects. Whether a naive object represents Coordinated Universal Time (UTC), local time, or time in some other timezone is purely up to the program, just like it is up to the program whether a particular number represents metres, miles, or mass. Naive objects are easy to understand and to work with, at the cost of ignoring some aspects of reality For applications requiring aware objects, and objects have an optional time zone information attribute, >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "4, that can be set to an instance of a subclass of the abstract class. 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 ConstantsThe module exports the following constants datetime. MINYEARThe 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.05datetime. 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.09datetime. UTC Alias for the UTC timezone singleton New in version 3. 11 Available Typesclass datetime. dateAn idealized naive date, assuming the current Gregorian calendar always was, and always will be, in effect. Atribut. , , Dan kelas tanggal waktu. waktuWaktu ideal, terlepas dari hari tertentu, dengan asumsi bahwa setiap hari memiliki tepat 24*60*60 detik. (Tidak ada gagasan "detik kabisat" di sini. ) Atribut. , , , , Dan kelas tanggal waktu. tanggal waktuKombinasi tanggal dan waktu. Atribut. , , , , , , , Dan kelas tanggal waktu. timedeltaDurasi yang menyatakan perbedaan antara dua , , atau instance ke resolusi mikrodetik kelas tanggal waktu. tzinfoKelas dasar abstrak untuk objek informasi zona waktu. Ini digunakan oleh kelas dan untuk memberikan gagasan penyesuaian waktu yang dapat disesuaikan (misalnya, untuk memperhitungkan zona waktu dan/atau waktu musim panas) kelas tanggal waktu. zona waktuKelas yang mengimplementasikan kelas dasar abstrak sebagai offset tetap dari UTC New in version 3. 2 Objects of these types are immutable Subclass relationships object timedelta tzinfo timezone time date datetime Common PropertiesThe , , , and types share these common features
Determining if an Object is Aware or NaiveObjects 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
Otherwise, d is naive A object t is aware if both of the following hold
Otherwise, t is naive The distinction between aware and naive doesn’t apply to objects ObjectsA object represents a duration, the difference between two dates or times class datetime. 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
and days, seconds and microseconds are then normalized so that the representation is unique, with
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. Misalnya >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999) Class attributes timedelta. minThe 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)20timedelta. 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)22delta 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 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. >>> 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)27 tidak dapat direpresentasikan sebagai objek Atribut instance (hanya baca) Atribut Nilai >>> 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)_29 Antara -999999999 dan 999999999 inklusif >>> 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)_30 Antara 0 dan 86399 inklusif >>> 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)_31 Antara 0 dan 999999 inklusif Operasi yang didukung Operasi Result >>> 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)_32 Jumlah t2 dan t3. Setelah itu t1-t2 == t3 dan t1-t3 == t2 benar. (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)_33 Selisih t2 dan t3. Setelah itu t1 == t2 - t3 dan t2 == t1 + t3 benar. (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. Setelah itu t1 // i == t2 benar, asalkan >>> 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 Secara umum, t1 * i == t1 * (i-1) + t1 benar. (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 dikalikan dengan pelampung. 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)_37 Pembagian (3) durasi keseluruhan t2 dengan satuan interval t3. Mengembalikan objek >>> 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)_39 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)41 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) >>> 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)_44 Menghitung hasil bagi dan sisanya. >>> 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)45 (3) 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)46. q adalah bilangan bulat dan r adalah objek >>> 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)_48 Mengembalikan objek dengan nilai yang sama. (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)50 setara dengan (-t1. hari, -t1. detik, -t1. mikrodetik), dan ke t1* -1. (1)(4) >>> 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)52 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) >>> 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 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)57. (5) >>> 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)_58 Mengembalikan representasi string dari objek sebagai panggilan konstruktor dengan nilai atribut kanonis Catatan
Selain operasi yang tercantum di atas, objek mendukung penambahan dan pengurangan tertentu dengan objek dan (lihat di bawah) Berubah di versi 3. 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 , apa pun jenis objek yang dibandingkan >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False 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, dinaikkan >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "_ Dalam konteks Boolean, sebuah objek dianggap benar jika dan hanya jika tidak 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)83 Metode instan delta 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. >>> 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)_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 >>> # 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 Contoh aritmatika >>> 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) ObjectsObjek 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. tanggal(tahun , bulan, day)Semua argumen diperlukan. Argumen harus berupa bilangan bulat, dalam rentang berikut
Jika argumen di luar rentang tersebut diberikan, 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)_94metode kelas tanggal. fromtimestamp(timestamp) Kembalikan tanggal lokal yang sesuai dengan stempel waktu POSIX, seperti yang dikembalikan oleh 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. It’s common for this to be restricted to years from 1970 through 2038. Perhatikan bahwa pada sistem non-POSIX yang menyertakan detik kabisat dalam gagasannya tentang stempel waktu, detik kabisat diabaikan oleh Berubah di versi 3. 3. Angkat 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. 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 kegagalan. metode kelas tanggal. dariordinal(ordinal) Kembalikan tanggal yang sesuai dengan ordinal Gregorian proleptik, di mana 1 Januari tahun 1 memiliki ordinal 1 dinaikkan kecuali >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)_08. Untuk setiap tanggal d, >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)_09metode kelas tanggal. fromisoformat(date_string) Kembalikan yang sesuai dengan date_string 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) >>> 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) Baru di versi 3. 7 Berubah di versi 3. 11. Sebelumnya, metode ini hanya mendukung format >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)12. metode kelas tanggal. dari isocalendar(tahun , minggu, day) Kembalikan yang sesuai dengan tanggal kalender ISO yang ditentukan berdasarkan tahun, minggu, dan hari. Ini adalah kebalikan dari fungsi Baru di versi 3. 8 Class attributes kencan. mntTanggal paling awal yang dapat diwakili, >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)_15kencan. maks Tanggal terbaru yang dapat diwakili, >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)_16kencan. 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)17 Atribut instance (hanya baca) kencan. tahunAntara dan inklusif kencan. bulanAntara 1 dan 12 inklusif kencan. hariAntara 1 dan jumlah hari dalam bulan tertentu pada tahun tertentu Operasi yang didukung Operasi Result >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)20 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)_22 Menghitung tanggal2 sehingga >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)23. (2) >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)_24 (3) >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)25 date1 dianggap kurang dari date2 saat date1 mendahului date2 dalam waktu. (4) Catatan
Dalam konteks Boolean, semua objek dianggap benar Metode instan date. replace(year=self. year , month=self. month , day=self. day)Return a date with the same value, except for those parameters given new values by whichever keyword arguments are specified Contoh >>> from datetime import date >>> d = date(2002, 12, 31) >>> d.replace(day=26) datetime.date(2002, 12, 26)date. timetuple() Return a such as returned by The hours, minutes and seconds are 0, and the DST flag is -1 >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)52 is equivalent 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)0 where >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)53 is the day number within the current year starting with >>> # 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.05 for January 1stdate. toordinal() Return the proleptic Gregorian ordinal of the date, where January 1 of year 1 has ordinal 1. For any object d, >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)09date. weekday() Return the day of the week as an integer, where Monday is 0 and Sunday is 6. For example, >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)57, a Wednesday. See also date. isoweekday() Return the day of the week as an integer, where Monday is 1 and Sunday is 7. For example, >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)59, a Wednesday. See also , date. isocalendar() Return a object 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 and >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)64 The ISO calendar is a widely used variant of the Gregorian calendar. The ISO year consists of 52 or 53 full weeks, and where a week starts on a Monday and ends on a Sunday. The first week of an ISO year is the first (Gregorian) calendar week of a year containing a Thursday. This is called week number 1, and the ISO year of that Thursday is the same as its Gregorian year 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 >>> 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)1 Changed in version 3. 9. Result changed from a tuple to a . date. isoformat()Return a string representing the date in ISO 8601 format, >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)12 >>> 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)2date. __str__() For a date d, >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)66 is equivalent to >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)67date. waktu() Return a string representing the date >>> 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)3 >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)68 is equivalent 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)4 on platforms where the native C >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)69 function (which invokes, but which does not invoke) conforms to the C standarddate. strftime(format) Return a string representing the date, controlled by an explicit format string. Format codes referring to hours, minutes or seconds will see 0 values. For a complete list of formatting directives, see date. __format__(format)Same as . This makes it possible to specify a format string for a object in and when using . For a complete list of formatting directives, see Examples of Usage.Example of counting days to an event >>> 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 More examples of working 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)6 ObjectsA object is a single object containing all the information from a object and a object Like a object, assumes the current Gregorian calendar extended in both directions; like a object, assumes there are exactly 3600*24 seconds in every day Constructor class datetime. datetime(year , month , day , hour=0 , minute=0 , second=0 , microsecond=0 , tzinfo=None , * , fold=0)The year, month and day arguments are required. tzinfo may be >>> 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 an instance of a subclass. The remaining arguments must be integers in the following ranges
Jika argumen di luar rentang tersebut diberikan, akan dimunculkan New in version 3. 6. Added the >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)96 argument. Konstruktor lain, semua metode kelas classmethod datetime. today()Return the current local datetime, 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)03 Equivalent 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)7 See also , This method is functionally equivalent to , but without a >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0002 parameterclassmethod datetime. now(tz=None) Return the current local date and time If optional argument tz 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 or not specified, this is like , but, if possible, supplies more precision than can be gotten from going through a timestamp (for example, this may be possible on platforms supplying the C >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0006 function) If tz 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, it must be an instance of a subclass, and the current date and time are converted to tz’s time zone This function is preferred over and classmethod datetime. utcnow()Return the current UTC date and time, 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)03 This is like , but returns the current UTC date and time, as a naive object. 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:0015. See also Warning Karena objek >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False7 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 False7 sebagai waktu lokal, lebih disukai menggunakan waktu yang diketahui untuk mewakili waktu dalam UTC. As such, the recommended way to create an object representing the current time in UTC is by calling >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0015metode kelas tanggal waktu. fromtimestamp(timestamp , tz=None) Kembalikan tanggal dan waktu lokal yang sesuai dengan stempel waktu POSIX, seperti dikembalikan oleh. If optional argument tz 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 or not specified, the timestamp is converted to the platform’s local date and time, and the returned object is naive 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 may raise , if the timestamp is out of the range of values supported by the 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 or >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0028 functions, and on >>> 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 or >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0028 failure. Biasanya hal ini dibatasi pada tahun 1970 hingga 2038. Note that on non-POSIX systems that include leap seconds in their notion of a timestamp, leap seconds are ignored by , and then it’s possible to have two timestamps differing by a second that yield identical objects. This method is preferred over Changed in version 3. 3. Raise instead of if the timestamp is out of the range of values supported by the 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 or >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0028 functions. Raise instead of on >>> 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 or >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0028 failure. Changed in version 3. 6. may return instances with set to 1. classmethod datetime. utcfromtimestamp(timestamp)Return the UTC corresponding to the POSIX timestamp, 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)03. (The resulting object is naive. ) This may raise , if the timestamp is out of the range of values supported by the platform C >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0028 function, and on >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0028 failure. It’s common for this to be restricted to years in 1970 through 2038 To get an aware object, call >>> 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)8 On the POSIX compliant platforms, it is equivalent to the following expression >>> 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 except the latter formula always supports the full years range. between and inclusive Warning Because naive >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False7 objects are treated by many >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False7 methods as local times, it is preferred to use aware datetimes to represent times in UTC. As such, the recommended way to create an object representing a specific timestamp in UTC is by calling >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0058 Changed in version 3. 3. Raise instead of if the timestamp is out of the range of values supported by the platform C >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0028 function. Raise instead of on >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0028 failure. classmethod datetime. fromordinal(ordinal) Return the corresponding to the proleptic Gregorian ordinal, where January 1 of year 1 has ordinal 1. is raised unless >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0067. The hour, minute, second and microsecond of the result are all 0, and 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)03classmethod datetime. combine(date , time , tzinfo=self. tzinfo) Return a new object whose date components are equal to the given object’s, and whose time components are equal to the given object’s. If the tzinfo argument is provided, its value is used to set the attribute of the result, otherwise the attribute of the time argument is used For any object d, >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0076. If date is a object, its time components and attributes are ignored Changed in version 3. 6. Added the tzinfo argument. classmethod datetime. fromisoformat(date_string)Return a corresponding to a date_string in any valid ISO 8601 format, with the following exceptions
Examples >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)0 Baru di versi 3. 7 Changed in version 3. 11. Previously, this method only supported formats that could be emitted by or . classmethod datetime. fromisocalendar(year , week , day)Return a corresponding to the ISO calendar date specified by year, week and day. The non-date components of the datetime are populated with their normal default values. This is the inverse of the function Baru di versi 3. 8 classmethod datetime. strptime(date_string , format)Return a corresponding to date_string, parsed according to format This is equivalent to >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)1 is raised if the date_string and format can’t be parsed by or if it returns a value which isn’t a time tuple. For a complete list of formatting directives, see Class attributes datetime. minThe earliest representable , >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0089datetime. max The latest representable , >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0091datetime. resolution 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 Atribut instance (hanya baca) datetime. yearAntara dan inklusif datetime. monthAntara 1 dan 12 inklusif datetime. dayAntara 1 dan jumlah hari dalam bulan tertentu pada tahun tertentu datetime. hourIn >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0096datetime. minute In >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0097datetime. second In >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0097datetime. microsecond In >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0099datetime. tzinfo The object passed as the tzinfo argument to the constructor, 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 none was passeddatetime. fold In >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False02. Used to disambiguate wall times during a repeated interval. (A repeated interval occurs when clocks are rolled back at the end of daylight saving time or when the UTC offset for the current zone is decreased for political reasons. ) The value 0 (1) represents the earlier (later) of the two moments with the same wall time representation New in version 3. 6 Operasi yang didukung Operasi Result >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False03 (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 False05 (3) >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False06 Compares to . (4)
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 >>> 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. Lihat juga metode Berubah di versi 3. 6. Nilai lipatan disalin ke objek yang dikembalikan. waktu. timetz()Kembalikan objek dengan atribut jam, menit, detik, mikrodetik, lipat, dan tzinfo yang sama. Lihat juga metode Berubah di versi 3. 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 , detik=diri. detik , mikrodetik=diri. mikrodetik , tzinfo=self. tzinfo , * , lipat=0)Kembalikan 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 New in version 3. 6. Added the >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)96 argument. waktu. astimezone(tz=Tidak ada) Mengembalikan objek dengan atribut baru tz, sesuaikan data tanggal dan waktu sehingga hasilnya waktu UTC sama dengan diri sendiri, tetapi dalam waktu lokal tz Jika disediakan, 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 False60) 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 False64 sama dengan diri. tidak ada penyesuaian data tanggal atau waktu yang dilakukan. Kalau tidak, hasilnya adalah waktu lokal di zona waktu tz, mewakili waktu UTC yang sama dengan diri 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 False66 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 False67 Jika Anda hanya ingin melampirkan objek zona waktu tz ke datetime dt tanpa penyesuaian data tanggal dan waktu, gunakan >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False68. 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 False69 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 di versi 3. 3. tz sekarang dapat dihilangkan. Berubah di versi 3. 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 False78, 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 di versi 3. 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 False84, 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 di versi 3. 7. Offset DST tidak terbatas pada jumlah menit penuh. datetime. 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 >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False90, 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,datetime. timetuple() Return a such as returned by >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)52 is equivalent to >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)3 where >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)53 is the day number within the current year starting with >>> # 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.05 for January 1st. The >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False97 flag of the result is set according to the method. 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 or 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, >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False97 is set to >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "04; else if returns a non-zero value, >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False97 is set 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.05; else >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False97 is set 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)14datetime. utctimetuple() If instance d is naive, this is the same as >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)52 except that >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False97 is forced to 0 regardless of what >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "13 returns. DST is never in effect for a UTC time If d is aware, d is normalized to UTC time, by subtracting >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "14, and a for the normalized time is returned. >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False97 is forced to 0. Note that an may be raised if d. year was >>> # 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.04 or >>> # 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.08 and UTC adjustment spills over a year boundary Warning Because naive >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False7 objects are treated by many >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False7 methods as local times, it is preferred to use aware datetimes to represent times in UTC; as a result, using may give misleading results. If you have a naive >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False7 representing UTC, use >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "24 to make it aware, at which point you can use datetime. toordinal() Return the proleptic Gregorian ordinal of the date. Sama dengan >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "_26datetime. timestamp() Return POSIX timestamp corresponding to the instance. The return value is a similar to that returned by Naive instances are assumed to represent local time and this method relies on the platform C >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "31 function to perform the conversion. Karena mendukung rentang nilai yang lebih luas daripada >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "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 di versi 3. 3 Berubah di versi 3. 6. The method uses the attribute to disambiguate the times during a repeated interval. 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 "39 >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)5 or by calculating the timestamp directly >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)6waktu. hari kerja() Mengembalikan hari dalam seminggu sebagai bilangan bulat, di mana Senin adalah 0 dan Minggu adalah 6. Sama seperti >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "_40. Lihat jugawaktu. hari kerja iso() Mengembalikan hari dalam seminggu sebagai bilangan bulat, di mana Senin adalah 1 dan Minggu adalah 7. Sama seperti >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "_42. Lihat juga ,waktu. isokalendar() Kembalikan a 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)64. Sama seperti >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "_48waktu. isoformat(sep=', timespec='auto') Kembalikan string yang mewakili tanggal dan waktu dalam format ISO 8601
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, string ditambahkan, memberikan offset UTC
Examples >>> 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 "59) adalah pemisah satu karakter, ditempatkan di antara bagian tanggal dan waktu dari hasil. Misalnya >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)8 Argumen timespec opsional menentukan jumlah komponen tambahan waktu untuk disertakan (defaultnya adalah >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "60). Itu bisa menjadi salah satu dari yang berikut
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 di versi 3. 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 "84waktu. waktu() Kembalikan string yang mewakili tanggal dan waktu >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:000 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 is equivalent 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)4 on platforms where the native C >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)69 function (which invokes, but which does not invoke) conforms to the C standardwaktu. strftime(format) Kembalikan string yang mewakili tanggal dan waktu, dikontrol oleh string format eksplisit. Untuk daftar lengkap arahan pemformatan, lihat waktu. __format__(format)Same as . This makes it possible to specify a format string for a object in and when using . For a complete list of formatting directives, see Examples of Usage.Contoh bekerja dengan objek >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:002 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 >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:003 Penggunaan >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "_95 dari atas >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:004 ObjectsObjek mewakili waktu (lokal) dalam sehari, terlepas dari hari tertentu, dan dapat disesuaikan melalui objek kelas tanggal waktu. waktu(jam=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=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
Jika argumen di luar rentang tersebut diberikan, 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 Class attributes waktu. mntTerwakili 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.010waktu. 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.012waktu. 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. jamIn >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0096waktu. menit In >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0097waktu. detik In >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0097time. mikrodetik In >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:0099waktu. tzinfo The object passed as the tzinfo argument to the constructor, 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 none was passedwaktu. lipat In >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False02. Used to disambiguate wall times during a repeated interval. (A repeated interval occurs when clocks are rolled back at the end of daylight saving time or when the UTC offset for the current zone is decreased for political reasons. ) The value 0 (1) represents the earlier (later) of the two moments with the same wall time representation New in version 3. 6 objek mendukung perbandingan ke , di mana a dianggap kurang dari b saat a mendahului b dalam waktu. Jika satu pembanding naif dan yang lain sadar, dimunculkan jika perbandingan pesanan dicoba. Untuk perbandingan kesetaraan, contoh naif tidak pernah sama dengan contoh sadar Jika kedua perbandingan diketahui, dan memiliki atribut yang sama, atribut umum diabaikan dan waktu dasar dibandingkan. Jika kedua komparand sadar dan memiliki atribut yang berbeda, komparand disesuaikan terlebih dahulu dengan mengurangkan offset UTC-nya (diperoleh dari >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False30). Untuk menghentikan perbandingan tipe campuran agar tidak kembali ke perbandingan default berdasarkan alamat objek, saat objek dibandingkan dengan objek dari tipe yang berbeda, dimunculkan kecuali jika 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 Berubah di versi 3. 3. Perbandingan kesetaraan antara kejadian sadar dan naif tidak meningkat. Dalam konteks Boolean, sebuah objek selalu dianggap benar Berubah di versi 3. 5. Sebelum Python 3. 5, sebuah objek dianggap salah jika mewakili tengah malam di UTC. Perilaku ini dianggap tidak jelas dan rawan kesalahan dan telah dihapus di Python 3. 5. Lihat bpo-13936 untuk detail selengkapnya. konstruktor lainnya metode kelas waktu. fromisoformat(time_string)Kembalikan yang sesuai dengan time_string dalam format ISO 8601 yang valid, dengan pengecualian berikut
Examples >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:005 Baru di versi 3. 7 Berubah di versi 3. 11. Sebelumnya, metode ini hanya mendukung format yang dapat dipancarkan oleh. Metode instan waktu. ganti(jam=diri. jam , menit=diri. menit , detik=diri. detik , mikrodetik=diri. mikrodetik , tzinfo=self. tzinfo , * , lipat=0)Kembalikan a dengan nilai 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 naif dari aware , tanpa konversi data waktu New in version 3. 6. Added the >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)96 argument. waktu. isoformat(spek waktu=') Mengembalikan string yang mewakili waktu dalam format ISO 8601, salah satunya
Argumen timespec opsional menentukan jumlah komponen tambahan waktu untuk disertakan (defaultnya adalah >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "60). Itu bisa menjadi salah satu dari yang berikut
Catatan Komponen waktu yang dikecualikan dipotong, bukan dibulatkan akan dimunculkan pada argumen timespec yang tidak valid Contoh >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:006 Baru di versi 3. 6. Menambahkan argumen timespec. waktu. __str__()Untuk waktu 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 setara 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.083waktu. strftime(format) Kembalikan string yang mewakili waktu, dikontrol oleh string format eksplisit. Untuk daftar lengkap arahan pemformatan, lihat waktu. __format__(format)Same as . This makes it possible to specify a format string for a object in and when using . For a complete list of formatting directives, see 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 >>> # 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.090, 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 di versi 3. 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 >>> # 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.096, 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 di versi 3. 7. Offset DST tidak terbatas pada jumlah menit penuh. waktu. tzname()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 >>> 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, atau 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 Examples of Usage.Contoh bekerja dengan objek >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:007 Objectskelas tanggal waktu. tzinfoIni adalah kelas dasar abstrak, artinya kelas ini tidak boleh dipakai secara langsung. Tentukan subkelas untuk menangkap informasi tentang zona waktu tertentu Instance dari (subclass konkret dari) dapat diteruskan ke konstruktor untuk dan objek. Objek yang terakhir melihat atributnya sebagai waktu lokal, dan objek mendukung metode yang mengungkapkan offset waktu lokal dari UTC, nama zona waktu, dan offset DST, semuanya terkait dengan objek tanggal atau waktu yang diteruskan ke mereka Anda perlu menurunkan subkelas konkret, dan (setidaknya) menyediakan implementasi dari metode standar yang dibutuhkan oleh metode yang Anda gunakan. Modul ini menyediakan , subkelas konkret sederhana yang dapat mewakili zona waktu dengan offset tetap dari UTC seperti UTC itu sendiri atau EST dan EDT Amerika Utara Persyaratan khusus untuk pengawetan. Subkelas harus memiliki metode >>> 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 yang dapat dipanggil tanpa argumen, selain itu dapat diasamkan tetapi mungkin tidak diurai lagi. Ini adalah persyaratan teknis yang mungkin dilonggarkan di masa mendatang Subkelas konkret mungkin perlu mengimplementasikan metode berikut. Tepatnya metode mana yang dibutuhkan bergantung pada kegunaan yang dibuat dari objek sadar. Jika ragu, terapkan saja semuanya tzinfo. utcoffset(dt)Kembalikan offset waktu lokal dari UTC, sebagai objek yang positif di sebelah timur UTC. Jika waktu lokal di sebelah barat UTC, ini harus negatif Ini mewakili total offset dari UTC; . Jika offset UTC tidak diketahui, kembalikan >>> 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, nilai yang dikembalikan harus berupa objek antara >>> 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 dan >>> 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 (besarnya offset harus kurang dari satu hari). Sebagian besar implementasi mungkin akan terlihat seperti salah satu dari keduanya >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:008 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 Implementasi standar kenaikan gaji Berubah di versi 3. 7. Offset UTC tidak terbatas pada jumlah menit penuh. tzinfo. dst(dt)Mengembalikan penyesuaian waktu musim panas (DST), sebagai objek 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 informasi DST tidak diketahui Kembalikan >>> 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 jika DST tidak berlaku. Jika DST aktif, kembalikan offset sebagai objek (lihat detailnya). Perhatikan bahwa offset DST, jika berlaku, telah ditambahkan ke offset UTC yang dikembalikan oleh , jadi tidak perlu berkonsultasi kecuali jika Anda tertarik untuk mendapatkan info DST secara terpisah. Misalnya, panggil metode atributnya untuk menentukan bagaimana bendera >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False97 harus disetel, dan panggil akun untuk perubahan DST saat melintasi zona waktu Contoh tz dari subkelas yang memodelkan waktu standar dan siang hari harus konsisten dalam pengertian ini >>> 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 harus mengembalikan hasil yang sama untuk setiap dt dengan >>> 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 Untuk subkelas waras, ungkapan ini menghasilkan "offset standar" zona waktu, yang seharusnya tidak bergantung pada tanggal atau waktu, tetapi hanya pada lokasi geografis. Implementasi bergantung pada ini, tetapi tidak dapat mendeteksi pelanggaran; . Jika subkelas tidak dapat menjamin hal ini, subkelas tersebut mungkin dapat mengesampingkan implementasi default untuk bekerja dengan benar dengan >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False72 terlepas Sebagian besar implementasi mungkin akan terlihat seperti salah satu dari keduanya >>> timedelta(hours=-5) datetime.timedelta(days=-1, seconds=68400) >>> print(_) -1 day, 19:00:00_9 atau >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False0 Implementasi standar kenaikan gaji Berubah di versi 3. 7. Offset DST tidak terbatas pada jumlah menit penuh. tzinfo. tzname(dt)Kembalikan nama zona waktu yang sesuai dengan objek dt, sebagai string. Tidak ada apa pun tentang nama string yang ditentukan oleh modul, dan tidak ada persyaratan bahwa itu berarti sesuatu secara khusus. Misalnya, “GMT”, “UTC”, “-500”, “-5. 00”, “EDT”, “AS/Timur”, “Amerika/New York” semuanya adalah balasan yang valid. Kembalikan >>> 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 nama string tidak diketahui. Perhatikan bahwa ini adalah metode daripada string tetap terutama karena beberapa subclass ingin mengembalikan nama yang berbeda tergantung pada nilai spesifik dari dt yang diteruskan, terutama jika kelas memperhitungkan waktu siang hari Implementasi standar kenaikan gaji Metode-metode ini dipanggil oleh objek atau, sebagai tanggapan atas metode mereka dengan nama yang sama. Objek meneruskan dirinya sendiri sebagai argumen, dan objek meneruskan >>> 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 sebagai argumen. Oleh karena itu, metode subkelas harus disiapkan untuk menerima argumen dt dari >>> 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 dari kelas 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)_03 diteruskan, terserah desainer kelas untuk memutuskan respons terbaik. Misalnya, 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 sesuai jika kelas ingin mengatakan bahwa objek waktu tidak berpartisipasi dalam protokol. Mungkin akan lebih berguna bagi >>> 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 untuk mengembalikan offset standar UTC, karena tidak ada konvensi lain untuk menemukan offset standar Ketika sebuah objek diteruskan sebagai respons terhadap suatu metode, >>> 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 objek yang sama dengan self. metode dapat mengandalkan ini, kecuali kode pengguna memanggil metode secara langsung. Maksudnya adalah metode menafsirkan dt sebagai waktu lokal, dan tidak perlu khawatir tentang objek di zona waktu lain Ada satu metode lagi yang mungkin ingin ditimpa oleh subclass tzinfo. fromutc(dt)Ini dipanggil dari implementasi default. Saat dipanggil dari situ, >>> 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 self, dan data tanggal dan waktu dt harus dilihat sebagai menyatakan waktu UTC. Tujuannya adalah untuk menyesuaikan data tanggal dan waktu, mengembalikan waktu yang setara dalam waktu lokal sendiri 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 berbeda 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 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 Melewatkan kode untuk kasus kesalahan, seperti implementasi default >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False_1 Dalam 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 ada beberapa contoh kelas >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False_2 Note that there are unavoidable subtleties twice per year in a subclass accounting for both standard and daylight time, at the DST transition points. Untuk konkretnya, pertimbangkan US Eastern (UTC -0500), di mana EDT dimulai menit setelah 1. 59 (EST) pada hari Minggu kedua bulan Maret, dan berakhir menit setelah 1. 59 (EDT) pada hari Minggu pertama bulan November >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False_3 Saat DST dimulai (baris "mulai"), jam dinding lokal melompat dari 1. 59 sampai 3. 00. Waktu dinding dalam bentuk 2. MM tidak masuk akal pada hari itu, jadi >>> 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 tidak akan memberikan hasil dengan >>> 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 pada hari DST dimulai. Misalnya, pada transisi maju musim semi tahun 2016, kita dapatkan >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False_4 Saat DST berakhir ("garis akhir"), ada potensi masalah yang lebih buruk. ada satu jam yang tidak bisa dieja dengan jelas dalam waktu dinding lokal. jam terakhir siang hari. Di Timur, itu adalah waktu dalam bentuk 5. MM UTC pada hari waktu siang hari berakhir. Jam dinding lokal melompat dari 1. 59 (waktu siang hari) kembali ke 1. 00 (waktu standar) lagi. Waktu setempat dalam bentuk 1. MM ambigu. >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False_72 meniru perilaku jam lokal dengan memetakan dua jam UTC yang berdekatan ke jam lokal yang sama kemudian. Dalam contoh Timur, waktu UTC dalam bentuk 5. MM dan 6. MM keduanya dipetakan ke 1. MM saat dikonversi ke Timur, tetapi waktu sebelumnya memiliki atribut yang disetel ke 0 dan waktu selanjutnya disetel ke 1. Misalnya, pada transisi musim gugur tahun 2016, kami mendapatkan >>> from datetime import timedelta >>> delta1 = timedelta(seconds=57) >>> delta2 = timedelta(hours=25, seconds=2) >>> delta2 != delta1 True >>> delta2 == 5 False5 Perhatikan bahwa instance yang berbeda hanya dengan nilai atribut dianggap sama dalam perbandingan Aplikasi yang tidak tahan dengan ambiguitas dinding-waktu harus secara eksplisit memeriksa nilai atribut atau menghindari penggunaan subkelas hibrid; See also Basis data zona waktu IANA Basis Data Zona Waktu (sering disebut tz, tzdata, atau zoneinfo) berisi kode dan data yang mewakili riwayat waktu setempat untuk banyak lokasi representatif di seluruh dunia. Ini diperbarui secara berkala untuk mencerminkan perubahan yang dibuat oleh badan politik terhadap batas zona waktu, offset UTC, dan aturan penghematan waktu siang hari ObjectsKelas tersebut adalah subkelas dari , setiap turunannya mewakili zona waktu yang ditentukan oleh offset tetap dari UTC Objek dari kelas ini tidak dapat digunakan untuk merepresentasikan informasi zona waktu di lokasi di mana offset yang berbeda digunakan pada hari yang berbeda dalam setahun atau di mana perubahan historis telah dibuat ke waktu sipil kelas tanggal waktu. zona waktu(offset , nama=None)Argumen offset harus ditentukan sebagai objek yang mewakili perbedaan antara waktu lokal dan UTC. Itu harus benar-benar antara >>> 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 dan >>> 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, jika tidak dinaikkan Argumen nama bersifat opsional. Jika ditentukan, itu harus berupa string yang akan digunakan sebagai nilai yang dikembalikan oleh metode New in version 3. 2 Berubah di versi 3. 7. Offset UTC tidak terbatas pada jumlah menit penuh. zona waktu. utcoffset(dt)Mengembalikan nilai tetap yang ditentukan saat instance dibuat Argumen dt diabaikan. Nilai yang dikembalikan adalah instance yang sama dengan perbedaan antara waktu lokal dan UTC Berubah di versi 3. 7. Offset UTC tidak terbatas pada jumlah menit penuh. zona waktu. tzname(dt)Mengembalikan nilai tetap yang ditentukan saat instance dibuat Jika nama tidak diberikan dalam konstruktor, nama yang dikembalikan oleh >>> 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 dihasilkan dari nilai >>> 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 sebagai berikut. Jika offset 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)83, namanya adalah "UTC", jika tidak, itu adalah string dalam 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, di mana ± adalah tanda >>> 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 dan MM adalah dua digit >>> 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 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)30 masing-masing Berubah di versi 3. 6. Nama yang dihasilkan dari >>> 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 sekarang polos >>> 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, bukan >>> 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. zona waktu. dst(dt) Selalu 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)_03zona waktu. fromutc(dt) Kembalikan >>> 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. Argumen dt harus menjadi contoh sadar, dengan >>> delta2 > delta1 True >>> delta2 > 5 Traceback (most recent call last): File "4 diatur ke >>> 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 Class attributes zona waktu. utcZona waktu UTC, >>> 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 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) 41 Perilaku, , dan objek semuanya mendukung 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)_45, untuk membuat string yang mewakili waktu di bawah kendali string format eksplisit Sebaliknya, metode kelas membuat objek dari string yang mewakili tanggal dan waktu dan format string yang sesuai Tabel di bawah memberikan perbandingan tingkat tinggi >>> 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 Penggunaan Konversi objek menjadi string sesuai dengan format yang diberikan Parsing string ke objek yang diberi format yang sesuai Jenis metode Metode instan Metode kelas Metode dari ; Tanda tangan >>> 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 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) 41 Kode FormatBerikut ini adalah daftar semua kode format yang diperlukan oleh standar C 1989, dan ini berfungsi di semua platform dengan implementasi C standar Pengarahan Arti Contoh Catatan >>> 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 Hari kerja sebagai nama singkatan lokal 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 Hari kerja sebagai nama lengkap lokal Minggu, Senin, …, Sabtu (en_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 Hari kerja sebagai angka desimal, di mana 0 adalah hari Minggu dan 6 adalah hari Sabtu 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 Day of the month as a zero-padded decimal number 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 Month as locale’s abbreviated name Jan, Feb, …, Dec (en_US); Jan, Feb, …, Dez (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)66 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 % Several additional directives not required by the C89 standard are included for convenience. These parameters all correspond to ISO 8601 date values Pengarahan Arti Contoh Catatan >>> 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) These may not be available on all platforms 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)40 method. The ISO 8601 year and ISO 8601 week directives are not interchangeable with the year and week number directives above. Memanggil >>> 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 dengan arahan ISO 8601 yang tidak lengkap atau ambigu akan meningkatkan 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 New in version 3. 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 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 were added. Detil TeknisSecara umum, >>> 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 bertindak seperti >>> from datetime import date >>> d = date(2002, 12, 31) >>> d.replace(day=26) datetime.date(2002, 12, 26)00 modul meskipun tidak semua objek mendukung metode >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)42 Untuk metode kelas, nilai defaultnya adalah >>> 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. Menggunakan >>> from datetime import date >>> d = date(2002, 12, 31) >>> d.replace(day=26) datetime.date(2002, 12, 26)_04 sama dengan >>> from datetime import timedelta >>> d = timedelta(microseconds=-1) >>> (d.days, d.seconds, d.microseconds) (-1, 86399, 999999)1 kecuali jika format menyertakan komponen sub-detik atau informasi offset zona waktu, yang didukung di >>> from datetime import date >>> d = date(2002, 12, 31) >>> d.replace(day=26) datetime.date(2002, 12, 26)05 tetapi dibuang oleh >>> from datetime import date >>> d = date(2002, 12, 31) >>> d.replace(day=26) datetime.date(2002, 12, 26)06 Untuk objek, kode format tahun, bulan, dan hari tidak boleh digunakan, karena objek tidak memiliki nilai seperti itu. Jika tetap digunakan, >>> from datetime import date >>> d = date(2002, 12, 31) >>> d.replace(day=26) datetime.date(2002, 12, 26)09 diganti untuk tahun, dan >>> # 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.05 untuk bulan dan hari 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
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 |