Mercurial > cpython-lru_cache-weakref
annotate Include/datetime.h @ 27998:e27f58a50737 legacy-trunk
SF bug #690377: Dud footnote reference in distutils docs
| author | Raymond Hettinger <python@rcn.com> |
|---|---|
| date | Fri, 21 Feb 2003 02:47:09 +0000 |
| parents | 38d2238c795e |
| children | e5df8c8faa09 |
| rev | line source |
|---|---|
|
26673
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
1 /* datetime.h |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
2 */ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
3 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
4 #ifndef DATETIME_H |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
5 #define DATETIME_H |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
6 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
7 /* Fields are packed into successive bytes, each viewed as unsigned and |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
8 * big-endian, unless otherwise noted: |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
9 * |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
10 * byte offset |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
11 * 0 year 2 bytes, 1-9999 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
12 * 2 month 1 byte, 1-12 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
13 * 3 day 1 byte, 1-31 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
14 * 4 hour 1 byte, 0-23 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
15 * 5 minute 1 byte, 0-59 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
16 * 6 second 1 byte, 0-59 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
17 * 7 usecond 3 bytes, 0-999999 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
18 * 10 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
19 */ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
20 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
21 /* # of bytes for year, month, and day. */ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
22 #define _PyDateTime_DATE_DATASIZE 4 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
23 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
24 /* # of bytes for hour, minute, second, and usecond. */ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
25 #define _PyDateTime_TIME_DATASIZE 6 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
26 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
27 /* # of bytes for year, month, day, hour, minute, second, and usecond. */ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
28 #define _PyDateTime_DATETIME_DATASIZE 10 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
29 |
|
27217
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
30 |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
31 typedef struct |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
32 { |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
33 PyObject_HEAD |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
34 long hashcode; /* -1 when unknown */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
35 int days; /* -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
36 int seconds; /* 0 <= seconds < 24*3600 is invariant */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
37 int microseconds; /* 0 <= microseconds < 1000000 is invariant */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
38 } PyDateTime_Delta; |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
39 |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
40 typedef struct |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
41 { |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
42 PyObject_HEAD /* a pure abstract base clase */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
43 } PyDateTime_TZInfo; |
|
27195
65dc0110a735
Got rid of the timetz type entirely. This was a bit trickier than I
Tim Peters <tim.peters@gmail.com>
parents:
26673
diff
changeset
|
44 |
|
27217
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
45 |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
46 /* The datetime and time types have hashcodes, and an optional tzinfo member, |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
47 * present if and only if hastzinfo is true. |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
48 */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
49 #define _PyTZINFO_HEAD \ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
50 PyObject_HEAD \ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
51 long hashcode; \ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
52 char hastzinfo; /* boolean flag */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
53 |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
54 /* No _PyDateTime_BaseTZInfo is allocated; it's just to have something |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
55 * convenient to cast to, when getting at the hastzinfo member of objects |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
56 * starting with _PyTZINFO_HEAD. |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
57 */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
58 typedef struct |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
59 { |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
60 _PyTZINFO_HEAD |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
61 } _PyDateTime_BaseTZInfo; |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
62 |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
63 /* All time objects are of PyDateTime_TimeType, but that can be allocated |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
64 * in two ways, with or without a tzinfo member. Without is the same as |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
65 * tzinfo == None, but consumes less memory. _PyDateTime_BaseTime is an |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
66 * internal struct used to allocate the right amount of space for the |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
67 * "without" case. |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
68 */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
69 #define _PyDateTime_TIMEHEAD \ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
70 _PyTZINFO_HEAD \ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
71 unsigned char data[_PyDateTime_TIME_DATASIZE]; |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
72 |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
73 typedef struct |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
74 { |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
75 _PyDateTime_TIMEHEAD |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
76 } _PyDateTime_BaseTime; /* hastzinfo false */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
77 |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
78 typedef struct |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
79 { |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
80 _PyDateTime_TIMEHEAD |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
81 PyObject *tzinfo; |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
82 } PyDateTime_Time; /* hastzinfo true */ |
|
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
83 |
|
27218
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
84 |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
85 /* All datetime objects are of PyDateTime_DateTimeType, but that can be |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
86 * allocated in two ways too, just like for time objects above. In addition, |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
87 * the plain date type is a base class for datetime, so it must also have |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
88 * a hastzinfo member (although it's unused there). |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
89 */ |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
90 typedef struct |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
91 { |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
92 _PyTZINFO_HEAD |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
93 unsigned char data[_PyDateTime_DATE_DATASIZE]; |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
94 } PyDateTime_Date; |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
95 |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
96 #define _PyDateTime_DATETIMEHEAD \ |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
97 _PyTZINFO_HEAD \ |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
98 unsigned char data[_PyDateTime_DATETIME_DATASIZE]; |
|
27217
10b7e60245b5
Minor fiddling to make the next part easier. Introduced an internal
Tim Peters <tim.peters@gmail.com>
parents:
27195
diff
changeset
|
99 |
|
26673
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
100 typedef struct |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
101 { |
|
27218
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
102 _PyDateTime_DATETIMEHEAD |
|
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
103 } _PyDateTime_BaseDateTime; /* hastzinfo false */ |
|
26673
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
104 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
105 typedef struct |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
106 { |
|
27218
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
107 _PyDateTime_DATETIMEHEAD |
|
26673
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
108 PyObject *tzinfo; |
|
27218
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
109 } PyDateTime_DateTime; /* hastzinfo true */ |
|
26673
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
110 |
|
27195
65dc0110a735
Got rid of the timetz type entirely. This was a bit trickier than I
Tim Peters <tim.peters@gmail.com>
parents:
26673
diff
changeset
|
111 |
|
27218
38d2238c795e
Got rid of the internal datetimetz type.
Tim Peters <tim.peters@gmail.com>
parents:
27217
diff
changeset
|
112 /* Apply for date and datetime instances. */ |
|
26673
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
113 #define PyDateTime_GET_YEAR(o) ((((PyDateTime_Date*)o)->data[0] << 8) | \ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
114 ((PyDateTime_Date*)o)->data[1]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
115 #define PyDateTime_GET_MONTH(o) (((PyDateTime_Date*)o)->data[2]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
116 #define PyDateTime_GET_DAY(o) (((PyDateTime_Date*)o)->data[3]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
117 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
118 #define PyDateTime_DATE_GET_HOUR(o) (((PyDateTime_DateTime*)o)->data[4]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
119 #define PyDateTime_DATE_GET_MINUTE(o) (((PyDateTime_DateTime*)o)->data[5]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
120 #define PyDateTime_DATE_GET_SECOND(o) (((PyDateTime_DateTime*)o)->data[6]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
121 #define PyDateTime_DATE_GET_MICROSECOND(o) \ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
122 ((((PyDateTime_DateTime*)o)->data[7] << 16) | \ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
123 (((PyDateTime_DateTime*)o)->data[8] << 8) | \ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
124 ((PyDateTime_DateTime*)o)->data[9]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
125 |
|
27195
65dc0110a735
Got rid of the timetz type entirely. This was a bit trickier than I
Tim Peters <tim.peters@gmail.com>
parents:
26673
diff
changeset
|
126 /* Apply for time instances. */ |
|
26673
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
127 #define PyDateTime_TIME_GET_HOUR(o) (((PyDateTime_Time*)o)->data[0]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
128 #define PyDateTime_TIME_GET_MINUTE(o) (((PyDateTime_Time*)o)->data[1]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
129 #define PyDateTime_TIME_GET_SECOND(o) (((PyDateTime_Time*)o)->data[2]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
130 #define PyDateTime_TIME_GET_MICROSECOND(o) \ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
131 ((((PyDateTime_Time*)o)->data[3] << 16) | \ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
132 (((PyDateTime_Time*)o)->data[4] << 8) | \ |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
133 ((PyDateTime_Time*)o)->data[5]) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
134 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
135 #define PyDate_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
136 #define PyDate_CheckExact(op) ((op)->ob_type == &PyDateTime_DateType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
137 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
138 #define PyDateTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateTimeType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
139 #define PyDateTime_CheckExact(op) ((op)->ob_type == &PyDateTime_DateTimeType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
140 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
141 #define PyTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_TimeType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
142 #define PyTime_CheckExact(op) ((op)->ob_type == &PyDateTime_TimeType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
143 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
144 #define PyDelta_Check(op) PyObject_TypeCheck(op, &PyDateTime_DeltaType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
145 #define PyDelta_CheckExact(op) ((op)->ob_type == &PyDateTime_DeltaType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
146 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
147 #define PyTZInfo_Check(op) PyObject_TypeCheck(op, &PyDateTime_TZInfoType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
148 #define PyTZInfo_CheckExact(op) ((op)->ob_type == &PyDateTime_TZInfoType) |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
149 |
|
5b715cad34d0
datetime escapes the sandbox. The Windows build is all set. I leave it
Tim Peters <tim.peters@gmail.com>
parents:
diff
changeset
|
150 #endif |
