@@ -21,18 +21,48 @@ The `datetime` module provides classes for manipulating dates and times.
2121| Operation | Time | Space | Notes |
2222| -----------| ------| -------| -------|
2323| ` date.year ` , ` date.month ` , ` date.day ` | O(1) | O(1) | Attribute access |
24- | ` date.weekday() ` | O(1) | O(1) | Day of week (0-6) |
25- | ` date.isoweekday() ` | O(1) | O(1) | Day of week (1-7) |
24+ | ` date.today() ` | O(1) | O(1) | Current local date |
25+ | ` date.fromisoformat(s) ` | O(n) | O(1) | Parse ISO format string |
26+ | ` date.fromtimestamp(ts) ` | O(1) | O(1) | From Unix timestamp |
27+ | ` date.fromordinal(n) ` | O(1) | O(1) | From proleptic Gregorian ordinal |
28+ | ` date.fromisocalendar(y, w, d) ` | O(1) | O(1) | From ISO year, week, day |
29+ | ` date.weekday() ` | O(1) | O(1) | Day of week (0=Mon, 6=Sun) |
30+ | ` date.isoweekday() ` | O(1) | O(1) | Day of week (1=Mon, 7=Sun) |
31+ | ` date.isocalendar() ` | O(1) | O(1) | Returns (year, week, weekday) |
2632| ` date.isoformat() ` | O(1) | O(1) | ISO 8601 string |
33+ | ` date.strftime(fmt) ` | O(n) | O(n) | Format to string |
34+ | ` date.ctime() ` | O(1) | O(1) | C-style string |
35+ | ` date.timetuple() ` | O(1) | O(1) | time.struct_time |
36+ | ` date.toordinal() ` | O(1) | O(1) | Proleptic Gregorian ordinal |
2737| ` date.replace(year=...) ` | O(1) | O(1) | Return new date |
2838
39+ ## Datetime Operations
40+
41+ | Operation | Time | Space | Notes |
42+ | -----------| ------| -------| -------|
43+ | ` datetime.combine(date, time) ` | O(1) | O(1) | Combine date and time objects |
44+ | ` datetime.fromisoformat(s) ` | O(n) | O(1) | Parse ISO format string |
45+ | ` datetime.date() ` | O(1) | O(1) | Extract date part |
46+ | ` datetime.time() ` | O(1) | O(1) | Extract time part (no tzinfo) |
47+ | ` datetime.timetz() ` | O(1) | O(1) | Extract time part (with tzinfo) |
48+ | ` datetime.timestamp() ` | O(1) | O(1) | Return POSIX timestamp |
49+ | ` datetime.utctimetuple() ` | O(1) | O(1) | UTC time.struct_time |
50+ | ` datetime.dst() ` | O(1) | O(1) | Daylight saving offset |
51+ | ` datetime.tzname() ` | O(1) | O(1) | Timezone name string |
52+ | ` datetime.utcoffset() ` | O(1) | O(1) | UTC offset as timedelta |
53+
2954## Time Operations
3055
3156| Operation | Time | Space | Notes |
3257| -----------| ------| -------| -------|
3358| ` time.hour ` , ` time.minute ` , ` time.second ` | O(1) | O(1) | Attribute access |
59+ | ` time.fromisoformat(s) ` | O(n) | O(1) | Parse ISO format string |
3460| ` time.isoformat() ` | O(1) | O(1) | ISO 8601 string |
61+ | ` time.strftime(fmt) ` | O(n) | O(n) | Format to string |
3562| ` time.replace(hour=...) ` | O(1) | O(1) | Return new time |
63+ | ` time.dst() ` | O(1) | O(1) | Daylight saving offset |
64+ | ` time.tzname() ` | O(1) | O(1) | Timezone name string |
65+ | ` time.utcoffset() ` | O(1) | O(1) | UTC offset as timedelta |
3666
3767## Timedelta Operations
3868
@@ -139,6 +169,17 @@ dates = [dt2, dt1, dt1 + timedelta(days=1)]
139169sorted_dates = sorted (dates) # O(n log n)
140170```
141171
172+ ## Timezone Class
173+
174+ | Operation | Time | Space | Notes |
175+ | -----------| ------| -------| -------|
176+ | ` timezone(offset) ` | O(1) | O(1) | Create fixed offset timezone |
177+ | ` timezone.utc ` | O(1) | O(1) | UTC timezone constant |
178+ | ` tz.utcoffset(dt) ` | O(1) | O(1) | Return offset from UTC |
179+ | ` tz.tzname(dt) ` | O(1) | O(1) | Return timezone name |
180+ | ` tz.dst(dt) ` | O(1) | O(1) | Return DST offset (always None for timezone) |
181+ | ` tz.fromutc(dt) ` | O(1) | O(1) | Convert UTC datetime to this timezone |
182+
142183## Timezone Operations
143184
144185``` python
0 commit comments