DateTime 對(duì)象?
datetime
模塊提供了各種日期和時(shí)間對(duì)象。 在使用任何這些函數(shù)之前,必須在你的源碼中包含頭文件 datetime.h
(請(qǐng)注意此文件并未包含在 Python.h
中),并且宏 PyDateTime_IMPORT
必須被發(fā)起調(diào)用,通常是作為模塊初始化函數(shù)的一部分。 這個(gè)宏會(huì)將指向特定 C 結(jié)構(gòu)的指針放入一個(gè)靜態(tài)變量 PyDateTimeAPI
中,它會(huì)由下面的宏來使用。
宏訪問UTC單例:
-
PyObject *PyDateTime_TimeZone_UTC?
返回表示 UTC 的時(shí)區(qū)單例,與
datetime.timezone.utc
為同一對(duì)象。3.7 新版功能.
類型檢查宏:
-
int PyDate_Check(PyObject *ob)?
如果 ob 為
PyDateTime_DateType
類型或PyDateTime_DateType
的某個(gè)子類型則返回真值。 ob 不能為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
-
int PyDate_CheckExact(PyObject *ob)?
如果 ob 為
PyDateTime_DateType
類型則返回真值。 ob 不能為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
-
int PyDateTime_Check(PyObject *ob)?
如果 ob 為
PyDateTime_DateTimeType
類型或PyDateTime_DateTimeType
的某個(gè)子類型則返回真值。 ob 不能為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
-
int PyDateTime_CheckExact(PyObject *ob)?
如果 ob 為
PyDateTime_DateTimeType
類型則返回真值。 ob 不能為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
-
int PyTime_Check(PyObject *ob)?
如果 ob 的類型是
PyDateTime_TimeType
或是PyDateTime_TimeType
的子類型則返回真值。 ob 必須不為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
-
int PyTime_CheckExact(PyObject *ob)?
如果 ob 為
PyDateTime_TimeType
類型則返回真值。 ob 不能為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
-
int PyDelta_Check(PyObject *ob)?
如果 ob 為
PyDateTime_DeltaType
類型或PyDateTime_DeltaType
的某個(gè)子類型則返回真值。 ob 不能為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
-
int PyDelta_CheckExact(PyObject *ob)?
如果 ob 為
PyDateTime_DeltaType
類型則返回真值。 ob 不能為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
-
int PyTZInfo_Check(PyObject *ob)?
如果 ob 的類型是
PyDateTime_TZInfoType
或是PyDateTime_TZInfoType
的子類型則返回真值。 ob 必須不為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
-
int PyTZInfo_CheckExact(PyObject *ob)?
如果 ob 為
PyDateTime_TZInfoType
類型則返回真值。 ob 不能為NULL
。 此函數(shù)總是會(huì)成功執(zhí)行。
用于創(chuàng)建對(duì)象的宏:
-
PyObject *PyDate_FromDate(int year, int month, int day)?
- Return value: New reference.
返回指定年、月、日的
datetime.date
對(duì)象。
-
PyObject *PyDateTime_FromDateAndTime(int year, int month, int day, int hour, int minute, int second, int usecond)?
- Return value: New reference.
返回具有指定 year, month, day, hour, minute, second 和 microsecond 屬性的
datetime.datetime
對(duì)象。
-
PyObject *PyDateTime_FromDateAndTimeAndFold(int year, int month, int day, int hour, int minute, int second, int usecond, int fold)?
- Return value: New reference.
返回具有指定 year, month, day, hour, minute, second, microsecond 和 fold 屬性的
datetime.datetime
對(duì)象。3.6 新版功能.
-
PyObject *PyTime_FromTime(int hour, int minute, int second, int usecond)?
- Return value: New reference.
返回具有指定 hour, minute, second and microsecond 屬性的
datetime.time
對(duì)象。
-
PyObject *PyTime_FromTimeAndFold(int hour, int minute, int second, int usecond, int fold)?
- Return value: New reference.
返回具有指定 hour, minute, second, microsecond 和 fold 屬性的
datetime.time
對(duì)象。3.6 新版功能.
-
PyObject *PyDelta_FromDSU(int days, int seconds, int useconds)?
- Return value: New reference.
返回代表給定天、秒和微秒數(shù)的
datetime.timedelta
對(duì)象。 將執(zhí)行正規(guī)化操作以使最終的微秒和秒數(shù)處在datetime.timedelta
對(duì)象的文檔指明的區(qū)間之內(nèi)。
-
PyObject *PyTimeZone_FromOffset(PyDateTime_DeltaType *offset)?
- Return value: New reference.
返回一個(gè)
datetime.timezone
對(duì)象,該對(duì)象具有以 offset 參數(shù)表示 的未命名固定時(shí)差。3.7 新版功能.
-
PyObject *PyTimeZone_FromOffsetAndName(PyDateTime_DeltaType *offset, PyUnicode *name)?
- Return value: New reference.
返回一個(gè)
datetime.timezone
對(duì)象,該對(duì)象具有以 offset 參數(shù)表示的固定時(shí)差和時(shí)區(qū)名稱 name。3.7 新版功能.
一些用來從 date 對(duì)象中提取字段的宏。 參數(shù)必須是 PyDateTime_Date
包括其子類 (例如 PyDateTime_DateTime
) 的實(shí)例。 參數(shù)必須不為 NULL
,并且類型不被會(huì)檢查:
-
int PyDateTime_GET_YEAR(PyDateTime_Date *o)?
以正整數(shù)的形式返回年份值。
-
int PyDateTime_GET_MONTH(PyDateTime_Date *o)?
返回月,從0到12的整數(shù)。
-
int PyDateTime_GET_DAY(PyDateTime_Date *o)?
返回日期,從0到31的整數(shù)。
一些用來從 datetime 對(duì)象中提取字段的宏。 參數(shù)必須是 PyDateTime_DateTime
包括其子類的實(shí)例。 參數(shù)必須不為 NULL
,并且類型不會(huì)被檢查:
-
int PyDateTime_DATE_GET_HOUR(PyDateTime_DateTime *o)?
返回小時(shí),從0到23的整數(shù)。
-
int PyDateTime_DATE_GET_MINUTE(PyDateTime_DateTime *o)?
返回分鐘,從0到59的整數(shù)。
-
int PyDateTime_DATE_GET_SECOND(PyDateTime_DateTime *o)?
返回秒,從0到59的整數(shù)。
-
int PyDateTime_DATE_GET_MICROSECOND(PyDateTime_DateTime *o)?
返回微秒,從0到999999的整數(shù)。
一些用來從 time 對(duì)象中提取字段的宏。 參數(shù)必須是 PyDateTime_Time
包括其子類的實(shí)例。 參數(shù)必須不為 NULL
,并且類型不會(huì)被檢查:
-
int PyDateTime_TIME_GET_HOUR(PyDateTime_Time *o)?
返回小時(shí),從0到23的整數(shù)。
-
int PyDateTime_TIME_GET_MINUTE(PyDateTime_Time *o)?
返回分鐘,從0到59的整數(shù)。
-
int PyDateTime_TIME_GET_SECOND(PyDateTime_Time *o)?
返回秒,從0到59的整數(shù)。
-
int PyDateTime_TIME_GET_MICROSECOND(PyDateTime_Time *o)?
返回微秒,從0到999999的整數(shù)。
一些用來從 timedelta 對(duì)象中提取字段的宏。 參數(shù)必須是 PyDateTime_Delta
包括其子類的實(shí)例。 參數(shù)必須不為 NULL
,并且類型不會(huì)被檢查:
-
int PyDateTime_DELTA_GET_DAYS(PyDateTime_Delta *o)?
返回天數(shù),從-999999999到999999999的整數(shù)。
3.3 新版功能.
-
int PyDateTime_DELTA_GET_SECONDS(PyDateTime_Delta *o)?
返回秒數(shù),從0到86399的整數(shù)。
3.3 新版功能.
-
int PyDateTime_DELTA_GET_MICROSECONDS(PyDateTime_Delta *o)?
返回微秒數(shù),從0到999999的整數(shù)。
3.3 新版功能.
一些便于模塊實(shí)現(xiàn) DB API 的宏:
-
PyObject *PyDateTime_FromTimestamp(PyObject *args)?
- Return value: New reference.
創(chuàng)建并返回一個(gè)給定元組參數(shù)的新
datetime.datetime
對(duì)象,適合傳給datetime.datetime.fromtimestamp()
。
-
PyObject *PyDate_FromTimestamp(PyObject *args)?
- Return value: New reference.
創(chuàng)建并返回一個(gè)給定元組參數(shù)的新
datetime.date
對(duì)象,適合傳給datetime.date.fromtimestamp()
。