“Python/docs/3.9/c-api/datetime”的版本间差异

来自菜鸟教程
Python/docs/3.9/c-api/datetime
跳转至:导航、​搜索
(autoload)
 
(Page commit)
 
第1行: 第1行:
 +
{{DISPLAYTITLE:日期时间对象 — Python 文档}}
 
<div id="datetime-objects" class="section">
 
<div id="datetime-objects" class="section">
  
 
<span id="datetimeobjects"></span>
 
<span id="datetimeobjects"></span>
= DateTime Objects =
+
= 日期时间对象 =
  
Various date and time objects are supplied by the [[../../library/datetime#module-datetime|<code>datetime</code>]] module.
+
[[../../library/datetime#module-datetime|datetime]] 模块提供了各种日期和时间对象。 在使用任何这些函数之前,必须在你的源代码中包含头文件<code>datetime.h</code>(注意这不包含在<code>Python.h</code>中),并且必须调用宏<code>PyDateTime_IMPORT</code> ,通常作为模块初始化函数的一部分。 该宏将指向 C 结构的指针放入静态变量 <code>PyDateTimeAPI</code> 中,该变量由以下宏使用。
Before using any of these functions, the header file <code>datetime.h</code> must be
 
included in your source (note that this is not included by <code>Python.h</code>),
 
and the macro <code>PyDateTime_IMPORT</code> must be invoked, usually as part of
 
the module initialisation function. The macro puts a pointer to a C structure
 
into a static variable, <code>PyDateTimeAPI</code>, that is used by the following
 
macros.
 
  
Macro for access to the UTC singleton:
+
用于访问 UTC 单例的宏:
  
 
<dl>
 
<dl>
<dt>[[../structures#c|PyObject]] *<code>PyDateTime_TimeZone_UTC</code></dt>
+
<dt>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_TimeZone_UTC</span></span></span><br />
<dd><p>Returns the time zone singleton representing UTC, the same object as
+
</dt>
[[../../library/datetime#datetime.timezone|<code>datetime.timezone.utc</code>]].</p>
+
<dd><p>返回表示 UTC 的时区单例,与 [[../../library/datetime#datetime.timezone|datetime.timezone.utc]] 是相同的对象。</p>
 
<div class="versionadded">
 
<div class="versionadded">
  
<p><span class="versionmodified added">3.7 新版功能.</span></p>
+
<p><span class="versionmodified added">3.7 版中的新功能。</span></p>
  
 
</div></dd></dl>
 
</div></dd></dl>
  
Type-check macros:
+
类型检查宏:
  
; int <code>PyDate_Check</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDate_Check</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
: Return true if ''ob'' is of type <code>PyDateTime_DateType</code> or a subtype of <code>PyDateTime_DateType</code>. ''ob'' must not be <code>NULL</code>.
 
  
; int <code>PyDate_CheckExact</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
: 如果 ''ob'' 的类型为 <code>PyDateTime_DateType</code> <code>PyDateTime_DateType</code> 的子类型,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
: Return true if ''ob'' is of type <code>PyDateTime_DateType</code>. ''ob'' must not be <code>NULL</code>.
 
  
; int <code>PyDateTime_Check</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDate_CheckExact</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
: Return true if ''ob'' is of type <code>PyDateTime_DateTimeType</code> or a subtype of <code>PyDateTime_DateTimeType</code>. ''ob'' must not be <code>NULL</code>.
 
  
; int <code>PyDateTime_CheckExact</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
: 如果 ''ob'' 的类型为 <code>PyDateTime_DateType</code>,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
: Return true if ''ob'' is of type <code>PyDateTime_DateTimeType</code>. ''ob'' must not be <code>NULL</code>.
 
  
; int <code>PyTime_Check</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_Check</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
: Return true if ''ob'' is of type <code>PyDateTime_TimeType</code> or a subtype of <code>PyDateTime_TimeType</code>. ''ob'' must not be <code>NULL</code>.
 
  
; int <code>PyTime_CheckExact</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
: 如果 ''ob'' 的类型为 <code>PyDateTime_DateTimeType</code> <code>PyDateTime_DateTimeType</code> 的子类型,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
: Return true if ''ob'' is of type <code>PyDateTime_TimeType</code>. ''ob'' must not be <code>NULL</code>.
 
  
; int <code>PyDelta_Check</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_CheckExact</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
: Return true if ''ob'' is of type <code>PyDateTime_DeltaType</code> or a subtype of <code>PyDateTime_DeltaType</code>. ''ob'' must not be <code>NULL</code>.
 
  
; int <code>PyDelta_CheckExact</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
: 如果 ''ob'' 的类型为 <code>PyDateTime_DateTimeType</code>,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
: Return true if ''ob'' is of type <code>PyDateTime_DeltaType</code>. ''ob'' must not be <code>NULL</code>.
 
  
; int <code>PyTZInfo_Check</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyTime_Check</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
: Return true if ''ob'' is of type <code>PyDateTime_TZInfoType</code> or a subtype of <code>PyDateTime_TZInfoType</code>. ''ob'' must not be <code>NULL</code>.
 
  
; int <code>PyTZInfo_CheckExact</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''ob''<span class="sig-paren">)</span>
+
: 如果 ''ob'' 的类型为 <code>PyDateTime_TimeType</code> <code>PyDateTime_TimeType</code> 的子类型,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
: Return true if ''ob'' is of type <code>PyDateTime_TZInfoType</code>. ''ob'' must not be <code>NULL</code>.
 
  
Macros to create objects:
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyTime_CheckExact</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
  
<dl>
+
: 如果 ''ob'' 的类型为 <code>PyDateTime_TimeType</code>,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
<dt>[[../structures#c|PyObject]] *<code>PyDate_FromDate</code><span class="sig-paren">(</span>int ''year'', int ''month'', int ''day''<span class="sig-paren">)</span></dt>
+
 
<dd><p>''Return value: New reference.''</p>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDelta_Check</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
<p>Return a [[../../library/datetime#datetime|<code>datetime.date</code>]] object with the specified year, month and day.</p></dd></dl>
+
 
 +
: 如果 ''ob'' 的类型为 <code>PyDateTime_DeltaType</code> 或 <code>PyDateTime_DeltaType</code> 的子类型,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
 +
 
 +
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDelta_CheckExact</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
 +
 
 +
: 如果 ''ob'' 的类型为 <code>PyDateTime_DeltaType</code>,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
 +
 
 +
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyTZInfo_Check</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
 +
 
 +
: 如果 ''ob'' 的类型为 <code>PyDateTime_TZInfoType</code> 或 <code>PyDateTime_TZInfoType</code> 的子类型,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
 +
 
 +
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyTZInfo_CheckExact</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">ob</span></span><span class="sig-paren">)</span><br />
 +
 
 +
: 如果 ''ob'' 的类型为 <code>PyDateTime_TZInfoType</code>,则返回 true。 ''ob'' 不能是 <code>NULL</code>。 此功能总是成功。
 +
 
 +
创建对象的宏:
 +
 
 +
; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDate_FromDate</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">year</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">month</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">day</span></span><span class="sig-paren">)</span><br />
 +
 
 +
: 返回具有指定年月日的 [[../../library/datetime#datetime|datetime.date]] 对象。
 +
 
 +
; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_FromDateAndTime</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">year</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">month</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">day</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">hour</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">minute</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">second</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">usecond</span></span><span class="sig-paren">)</span><br />
  
<dl>
+
: 返回具有指定年、月、日、时、分、秒和微秒的 [[../../library/datetime#datetime|datetime.datetime]] 对象。
<dt>[[../structures#c|PyObject]] *<code>PyDateTime_FromDateAndTime</code><span class="sig-paren">(</span>int ''year'', int ''month'', int ''day'', int ''hour'', int ''minute'', int ''second'', int ''usecond''<span class="sig-paren">)</span></dt>
 
<dd><p>''Return value: New reference.''</p>
 
<p>Return a [[../../library/datetime#datetime|<code>datetime.datetime</code>]] object with the specified year, month, day, hour,
 
minute, second and microsecond.</p></dd></dl>
 
  
 
<dl>
 
<dl>
<dt>[[../structures#c|PyObject]] *<code>PyDateTime_FromDateAndTimeAndFold</code><span class="sig-paren">(</span>int ''year'', int ''month'', int ''day'', int ''hour'', int ''minute'', int ''second'', int ''usecond'', int ''fold''<span class="sig-paren">)</span></dt>
+
<dt>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_FromDateAndTimeAndFold</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">year</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">month</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">day</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">hour</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">minute</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">second</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">usecond</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">fold</span></span><span class="sig-paren">)</span><br />
<dd><p>''Return value: New reference.''</p>
+
</dt>
<p>Return a [[../../library/datetime#datetime|<code>datetime.datetime</code>]] object with the specified year, month, day, hour,
+
<dd><p>返回具有指定年、月、日、时、分、秒、微秒和折叠的 [[../../library/datetime#datetime|datetime.datetime]] 对象。</p>
minute, second, microsecond and fold.</p>
 
 
<div class="versionadded">
 
<div class="versionadded">
  
<p><span class="versionmodified added">3.6 新版功能.</span></p>
+
<p><span class="versionmodified added">3.6 版中的新功能。</span></p>
  
 
</div></dd></dl>
 
</div></dd></dl>
  
<dl>
+
; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyTime_FromTime</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">hour</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">minute</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">second</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">usecond</span></span><span class="sig-paren">)</span><br />
<dt>[[../structures#c|PyObject]] *<code>PyTime_FromTime</code><span class="sig-paren">(</span>int ''hour'', int ''minute'', int ''second'', int ''usecond''<span class="sig-paren">)</span></dt>
+
 
<dd><p>''Return value: New reference.''</p>
+
: 返回具有指定小时、分钟、秒和微秒的 [[../../library/datetime#datetime|datetime.time]] 对象。
<p>Return a [[../../library/datetime#datetime|<code>datetime.time</code>]] object with the specified hour, minute, second and
 
microsecond.</p></dd></dl>
 
  
 
<dl>
 
<dl>
<dt>[[../structures#c|PyObject]] *<code>PyTime_FromTimeAndFold</code><span class="sig-paren">(</span>int ''hour'', int ''minute'', int ''second'', int ''usecond'', int ''fold''<span class="sig-paren">)</span></dt>
+
<dt>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyTime_FromTimeAndFold</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">hour</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">minute</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">second</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">usecond</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">fold</span></span><span class="sig-paren">)</span><br />
<dd><p>''Return value: New reference.''</p>
+
</dt>
<p>Return a [[../../library/datetime#datetime|<code>datetime.time</code>]] object with the specified hour, minute, second,
+
<dd><p>返回具有指定小时、分钟、秒、微秒和折叠的 [[../../library/datetime#datetime|datetime.time]] 对象。</p>
microsecond and fold.</p>
 
 
<div class="versionadded">
 
<div class="versionadded">
  
<p><span class="versionmodified added">3.6 新版功能.</span></p>
+
<p><span class="versionmodified added">3.6 版中的新功能。</span></p>
  
 
</div></dd></dl>
 
</div></dd></dl>
  
<dl>
+
; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDelta_FromDSU</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">days</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">seconds</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n"><span class="pre">useconds</span></span><span class="sig-paren">)</span><br />
<dt>[[../structures#c|PyObject]] *<code>PyDelta_FromDSU</code><span class="sig-paren">(</span>int ''days'', int ''seconds'', int ''useconds''<span class="sig-paren">)</span></dt>
+
 
<dd><p>''Return value: New reference.''</p>
+
: 返回一个 [[../../library/datetime#datetime|datetime.timedelta]] 对象,表示给定的天数、秒数和微秒数。 执行规范化以便结果的微秒数和秒数位于为 [[../../library/datetime#datetime|datetime.timedelta]] 对象记录的范围内。
<p>Return a [[../../library/datetime#datetime|<code>datetime.timedelta</code>]] object representing the given number
 
of days, seconds and microseconds. Normalization is performed so that the
 
resulting number of microseconds and seconds lie in the ranges documented for
 
[[../../library/datetime#datetime|<code>datetime.timedelta</code>]] objects.</p></dd></dl>
 
  
 
<dl>
 
<dl>
<dt>[[../structures#c|PyObject]] *<code>PyTimeZone_FromOffset</code><span class="sig-paren">(</span>PyDateTime_DeltaType *''offset''<span class="sig-paren">)</span></dt>
+
<dt>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyTimeZone_FromOffset</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_DeltaType</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">offset</span></span><span class="sig-paren">)</span><br />
<dd><p>''Return value: New reference.''</p>
+
</dt>
<p>Return a [[../../library/datetime#datetime|<code>datetime.timezone</code>]] object with an unnamed fixed offset
+
<dd><p>返回一个 [[../../library/datetime#datetime|datetime.timezone]] 对象,其具有由 ''offset'' 参数表示的未命名固定偏移量。</p>
represented by the ''offset'' argument.</p>
 
 
<div class="versionadded">
 
<div class="versionadded">
  
<p><span class="versionmodified added">3.7 新版功能.</span></p>
+
<p><span class="versionmodified added">3.7 版中的新功能。</span></p>
  
 
</div></dd></dl>
 
</div></dd></dl>
  
 
<dl>
 
<dl>
<dt>[[../structures#c|PyObject]] *<code>PyTimeZone_FromOffsetAndName</code><span class="sig-paren">(</span>PyDateTime_DeltaType *''offset'', PyUnicode *''name''<span class="sig-paren">)</span></dt>
+
<dt>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyTimeZone_FromOffsetAndName</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_DeltaType</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">offset</span></span>, <span class="n"><span class="pre">PyUnicode</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">name</span></span><span class="sig-paren">)</span><br />
<dd><p>''Return value: New reference.''</p>
+
</dt>
<p>Return a [[../../library/datetime#datetime|<code>datetime.timezone</code>]] object with a fixed offset represented
+
<dd><p>返回一个 [[../../library/datetime#datetime|datetime.timezone]] 对象,其固定偏移量由 ''offset'' 参数和 tzname ''name'' 表示。</p>
by the ''offset'' argument and with tzname ''name''.</p>
 
 
<div class="versionadded">
 
<div class="versionadded">
  
<p><span class="versionmodified added">3.7 新版功能.</span></p>
+
<p><span class="versionmodified added">3.7 版中的新功能。</span></p>
  
 
</div></dd></dl>
 
</div></dd></dl>
  
Macros to extract fields from date objects. The argument must be an instance of
+
从日期对象中提取字段的宏。 参数必须是 <code>PyDateTime_Date</code> 的实例,包括子类(例如 <code>PyDateTime_DateTime</code>)。 参数不能是<code>NULL</code>,并且不检查类型:
<code>PyDateTime_Date</code>, including subclasses (such as
 
<code>PyDateTime_DateTime</code>). The argument must not be <code>NULL</code>, and the type is
 
not checked:
 
  
; int <code>PyDateTime_GET_YEAR</code><span class="sig-paren">(</span>PyDateTime_Date *''o''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_GET_YEAR</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Date</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
: Return the year, as a positive int.
 
  
; int <code>PyDateTime_GET_MONTH</code><span class="sig-paren">(</span>PyDateTime_Date *''o''<span class="sig-paren">)</span>
+
: 以正整数形式返回年份。
: Return the month, as an int from 1 through 12.
 
  
; int <code>PyDateTime_GET_DAY</code><span class="sig-paren">(</span>PyDateTime_Date *''o''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_GET_MONTH</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Date</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
: Return the day, as an int from 1 through 31.
 
  
Macros to extract fields from datetime objects. The argument must be an
+
: 以从 1 到 12 的整数形式返回月份。
instance of <code>PyDateTime_DateTime</code>, including subclasses. The argument
 
must not be <code>NULL</code>, and the type is not checked:
 
  
; int <code>PyDateTime_DATE_GET_HOUR</code><span class="sig-paren">(</span>PyDateTime_DateTime *''o''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_GET_DAY</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Date</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
: Return the hour, as an int from 0 through 23.
 
  
; int <code>PyDateTime_DATE_GET_MINUTE</code><span class="sig-paren">(</span>PyDateTime_DateTime *''o''<span class="sig-paren">)</span>
+
: 返回日期,作为从 1 到 31 的整数。
: Return the minute, as an int from 0 through 59.
 
  
; int <code>PyDateTime_DATE_GET_SECOND</code><span class="sig-paren">(</span>PyDateTime_DateTime *''o''<span class="sig-paren">)</span>
+
从日期时间对象中提取字段的宏。 参数必须是 <code>PyDateTime_DateTime</code> 的实例,包括子类。 参数不能是<code>NULL</code>,并且不检查类型:
: Return the second, as an int from 0 through 59.
 
  
; int <code>PyDateTime_DATE_GET_MICROSECOND</code><span class="sig-paren">(</span>PyDateTime_DateTime *''o''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_DATE_GET_HOUR</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_DateTime</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
: Return the microsecond, as an int from 0 through 999999.
 
  
Macros to extract fields from time objects. The argument must be an instance of
+
: 以从 0 到 23 的整数形式返回小时。
<code>PyDateTime_Time</code>, including subclasses. The argument must not be <code>NULL</code>,
 
and the type is not checked:
 
  
; int <code>PyDateTime_TIME_GET_HOUR</code><span class="sig-paren">(</span>PyDateTime_Time *''o''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_DATE_GET_MINUTE</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_DateTime</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
: Return the hour, as an int from 0 through 23.
 
  
; int <code>PyDateTime_TIME_GET_MINUTE</code><span class="sig-paren">(</span>PyDateTime_Time *''o''<span class="sig-paren">)</span>
+
: 0 59 的整数形式返回分钟。
: Return the minute, as an int from 0 through 59.
 
  
; int <code>PyDateTime_TIME_GET_SECOND</code><span class="sig-paren">(</span>PyDateTime_Time *''o''<span class="sig-paren">)</span>
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_DATE_GET_SECOND</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_DateTime</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
: Return the second, as an int from 0 through 59.
 
  
; int <code>PyDateTime_TIME_GET_MICROSECOND</code><span class="sig-paren">(</span>PyDateTime_Time *''o''<span class="sig-paren">)</span>
+
: 返回第二个,作为从 0 到 59 的整数。
: Return the microsecond, as an int from 0 through 999999.
 
  
Macros to extract fields from time delta objects. The argument must be an
+
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_DATE_GET_MICROSECOND</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_DateTime</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
instance of <code>PyDateTime_Delta</code>, including subclasses. The argument must
+
 
not be <code>NULL</code>, and the type is not checked:
+
: 以从 0 到 999999 的整数形式返回微秒。
 +
 
 +
从时间对象中提取字段的宏。 参数必须是 <code>PyDateTime_Time</code> 的实例,包括子类。 参数不能是<code>NULL</code>,并且不检查类型:
 +
 
 +
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_TIME_GET_HOUR</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Time</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
 +
 
 +
: 以从 0 到 23 的整数形式返回小时。
 +
 
 +
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_TIME_GET_MINUTE</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Time</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
 +
 
 +
: 以 0 到 59 的整数形式返回分钟。
 +
 
 +
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_TIME_GET_SECOND</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Time</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
 +
 
 +
: 返回第二个,作为从 0 到 59 的整数。
 +
 
 +
; <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_TIME_GET_MICROSECOND</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Time</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
 +
 
 +
: 以从 0 到 999999 的整数形式返回微秒。
 +
 
 +
从时间增量对象中提取字段的宏。 参数必须是 <code>PyDateTime_Delta</code> 的实例,包括子类。 参数不能是<code>NULL</code>,并且不检查类型:
  
 
<dl>
 
<dl>
<dt>int <code>PyDateTime_DELTA_GET_DAYS</code><span class="sig-paren">(</span>PyDateTime_Delta *''o''<span class="sig-paren">)</span></dt>
+
<dt><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_DELTA_GET_DAYS</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Delta</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
<dd><p>Return the number of days, as an int from -999999999 to 999999999.</p>
+
</dt>
 +
<dd><p>以整数形式返回天数,从 -999999999 到 999999999。</p>
 
<div class="versionadded">
 
<div class="versionadded">
  
<p><span class="versionmodified added">3.3 新版功能.</span></p>
+
<p><span class="versionmodified added">3.3 版中的新功能。</span></p>
  
 
</div></dd></dl>
 
</div></dd></dl>
  
 
<dl>
 
<dl>
<dt>int <code>PyDateTime_DELTA_GET_SECONDS</code><span class="sig-paren">(</span>PyDateTime_Delta *''o''<span class="sig-paren">)</span></dt>
+
<dt><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_DELTA_GET_SECONDS</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Delta</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
<dd><p>Return the number of seconds, as an int from 0 through 86399.</p>
+
</dt>
 +
<dd><p>以从 0 86399 的整数形式返回秒数。</p>
 
<div class="versionadded">
 
<div class="versionadded">
  
<p><span class="versionmodified added">3.3 新版功能.</span></p>
+
<p><span class="versionmodified added">3.3 版中的新功能。</span></p>
  
 
</div></dd></dl>
 
</div></dd></dl>
  
 
<dl>
 
<dl>
<dt>int <code>PyDateTime_DELTA_GET_MICROSECONDS</code><span class="sig-paren">(</span>PyDateTime_Delta *''o''<span class="sig-paren">)</span></dt>
+
<dt><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_DELTA_GET_MICROSECONDS</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">PyDateTime_Delta</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">o</span></span><span class="sig-paren">)</span><br />
<dd><p>Return the number of microseconds, as an int from 0 through 999999.</p>
+
</dt>
 +
<dd><p>以从 0 999999 的整数形式返回微秒数。</p>
 
<div class="versionadded">
 
<div class="versionadded">
  
<p><span class="versionmodified added">3.3 新版功能.</span></p>
+
<p><span class="versionmodified added">3.3 版中的新功能。</span></p>
  
 
</div></dd></dl>
 
</div></dd></dl>
  
Macros for the convenience of modules implementing the DB API:
+
用于方便模块实现 DB API 的宏:
  
<dl>
+
; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDateTime_FromTimestamp</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span><span class="sig-paren">)</span><br />
<dt>[[../structures#c|PyObject]] *<code>PyDateTime_FromTimestamp</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''args''<span class="sig-paren">)</span></dt>
+
 
<dd><p>''Return value: New reference.''</p>
+
: 给定一个适合传递给 [[../../library/datetime#datetime.datetime|datetime.datetime.fromtimestamp()]] 的参数元组,创建并返回一个新的 [[../../library/datetime#datetime|datetime.datetime]] 对象。
<p>Create and return a new [[../../library/datetime#datetime|<code>datetime.datetime</code>]] object given an argument
+
 
tuple suitable for passing to [[../../library/datetime#datetime.datetime|<code>datetime.datetime.fromtimestamp()</code>]].</p></dd></dl>
+
; [[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">PyDate_FromTimestamp</span></span></span><span class="sig-paren">(</span>[[../structures#c|<span class="n"><span class="pre">PyObject</span></span>]]<span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span><span class="sig-paren">)</span><br />
 +
 
 +
: 给定一个适合传递给 [[../../library/datetime#datetime.date|datetime.date.fromtimestamp()]] 的参数元组,创建并返回一个新的 [[../../library/datetime#datetime|datetime.date]] 对象。
 +
 
 +
 
 +
</div>
 +
<div class="clearer">
  
<dl>
 
<dt>[[../structures#c|PyObject]] *<code>PyDate_FromTimestamp</code><span class="sig-paren">(</span>[[../structures#c|PyObject]] *''args''<span class="sig-paren">)</span></dt>
 
<dd><p>''Return value: New reference.''</p>
 
<p>Create and return a new [[../../library/datetime#datetime|<code>datetime.date</code>]] object given an argument
 
tuple suitable for passing to [[../../library/datetime#datetime.date|<code>datetime.date.fromtimestamp()</code>]].</p></dd></dl>
 
  
  
 
</div>
 
</div>
  
[[Category:Python 3.9 中文文档]]
+
[[Category:Python 3.9 文档]]

2021年10月31日 (日) 04:50的最新版本

日期时间对象

datetime 模块提供了各种日期和时间对象。 在使用任何这些函数之前,必须在你的源代码中包含头文件datetime.h(注意这不包含在Python.h中),并且必须调用宏PyDateTime_IMPORT ,通常作为模块初始化函数的一部分。 该宏将指向 C 结构的指针放入静态变量 PyDateTimeAPI 中,该变量由以下宏使用。

用于访问 UTC 单例的宏:

PyObject *PyDateTime_TimeZone_UTC

返回表示 UTC 的时区单例,与 datetime.timezone.utc 是相同的对象。

3.7 版中的新功能。

类型检查宏:

int PyDate_Check(PyObject *ob)
如果 ob 的类型为 PyDateTime_DateTypePyDateTime_DateType 的子类型,则返回 true。 ob 不能是 NULL。 此功能总是成功。
int PyDate_CheckExact(PyObject *ob)
如果 ob 的类型为 PyDateTime_DateType,则返回 true。 ob 不能是 NULL。 此功能总是成功。
int PyDateTime_Check(PyObject *ob)
如果 ob 的类型为 PyDateTime_DateTimeTypePyDateTime_DateTimeType 的子类型,则返回 true。 ob 不能是 NULL。 此功能总是成功。
int PyDateTime_CheckExact(PyObject *ob)
如果 ob 的类型为 PyDateTime_DateTimeType,则返回 true。 ob 不能是 NULL。 此功能总是成功。
int PyTime_Check(PyObject *ob)
如果 ob 的类型为 PyDateTime_TimeTypePyDateTime_TimeType 的子类型,则返回 true。 ob 不能是 NULL。 此功能总是成功。
int PyTime_CheckExact(PyObject *ob)
如果 ob 的类型为 PyDateTime_TimeType,则返回 true。 ob 不能是 NULL。 此功能总是成功。
int PyDelta_Check(PyObject *ob)
如果 ob 的类型为 PyDateTime_DeltaTypePyDateTime_DeltaType 的子类型,则返回 true。 ob 不能是 NULL。 此功能总是成功。
int PyDelta_CheckExact(PyObject *ob)
如果 ob 的类型为 PyDateTime_DeltaType,则返回 true。 ob 不能是 NULL。 此功能总是成功。
int PyTZInfo_Check(PyObject *ob)
如果 ob 的类型为 PyDateTime_TZInfoTypePyDateTime_TZInfoType 的子类型,则返回 true。 ob 不能是 NULL。 此功能总是成功。
int PyTZInfo_CheckExact(PyObject *ob)
如果 ob 的类型为 PyDateTime_TZInfoType,则返回 true。 ob 不能是 NULL。 此功能总是成功。

创建对象的宏:

PyObject *PyDate_FromDate(int year, int month, int day)
返回具有指定年月日的 datetime.date 对象。
PyObject *PyDateTime_FromDateAndTime(int year, int month, int day, int hour, int minute, int second, int usecond)
返回具有指定年、月、日、时、分、秒和微秒的 datetime.datetime 对象。
PyObject *PyDateTime_FromDateAndTimeAndFold(int year, int month, int day, int hour, int minute, int second, int usecond, int fold)

返回具有指定年、月、日、时、分、秒、微秒和折叠的 datetime.datetime 对象。

3.6 版中的新功能。

PyObject *PyTime_FromTime(int hour, int minute, int second, int usecond)
返回具有指定小时、分钟、秒和微秒的 datetime.time 对象。
PyObject *PyTime_FromTimeAndFold(int hour, int minute, int second, int usecond, int fold)

返回具有指定小时、分钟、秒、微秒和折叠的 datetime.time 对象。

3.6 版中的新功能。

PyObject *PyDelta_FromDSU(int days, int seconds, int useconds)
返回一个 datetime.timedelta 对象,表示给定的天数、秒数和微秒数。 执行规范化以便结果的微秒数和秒数位于为 datetime.timedelta 对象记录的范围内。
PyObject *PyTimeZone_FromOffset(PyDateTime_DeltaType *offset)

返回一个 datetime.timezone 对象,其具有由 offset 参数表示的未命名固定偏移量。

3.7 版中的新功能。

PyObject *PyTimeZone_FromOffsetAndName(PyDateTime_DeltaType *offset, PyUnicode *name)

返回一个 datetime.timezone 对象,其固定偏移量由 offset 参数和 tzname name 表示。

3.7 版中的新功能。

从日期对象中提取字段的宏。 参数必须是 PyDateTime_Date 的实例,包括子类(例如 PyDateTime_DateTime)。 参数不能是NULL,并且不检查类型:

int PyDateTime_GET_YEAR(PyDateTime_Date *o)
以正整数形式返回年份。
int PyDateTime_GET_MONTH(PyDateTime_Date *o)
以从 1 到 12 的整数形式返回月份。
int PyDateTime_GET_DAY(PyDateTime_Date *o)
返回日期,作为从 1 到 31 的整数。

从日期时间对象中提取字段的宏。 参数必须是 PyDateTime_DateTime 的实例,包括子类。 参数不能是NULL,并且不检查类型:

int PyDateTime_DATE_GET_HOUR(PyDateTime_DateTime *o)
以从 0 到 23 的整数形式返回小时。
int PyDateTime_DATE_GET_MINUTE(PyDateTime_DateTime *o)
以 0 到 59 的整数形式返回分钟。
int PyDateTime_DATE_GET_SECOND(PyDateTime_DateTime *o)
返回第二个,作为从 0 到 59 的整数。
int PyDateTime_DATE_GET_MICROSECOND(PyDateTime_DateTime *o)
以从 0 到 999999 的整数形式返回微秒。

从时间对象中提取字段的宏。 参数必须是 PyDateTime_Time 的实例,包括子类。 参数不能是NULL,并且不检查类型:

int PyDateTime_TIME_GET_HOUR(PyDateTime_Time *o)
以从 0 到 23 的整数形式返回小时。
int PyDateTime_TIME_GET_MINUTE(PyDateTime_Time *o)
以 0 到 59 的整数形式返回分钟。
int PyDateTime_TIME_GET_SECOND(PyDateTime_Time *o)
返回第二个,作为从 0 到 59 的整数。
int PyDateTime_TIME_GET_MICROSECOND(PyDateTime_Time *o)
以从 0 到 999999 的整数形式返回微秒。

从时间增量对象中提取字段的宏。 参数必须是 PyDateTime_Delta 的实例,包括子类。 参数不能是NULL,并且不检查类型:

int PyDateTime_DELTA_GET_DAYS(PyDateTime_Delta *o)

以整数形式返回天数,从 -999999999 到 999999999。

3.3 版中的新功能。

int PyDateTime_DELTA_GET_SECONDS(PyDateTime_Delta *o)

以从 0 到 86399 的整数形式返回秒数。

3.3 版中的新功能。

int PyDateTime_DELTA_GET_MICROSECONDS(PyDateTime_Delta *o)

以从 0 到 999999 的整数形式返回微秒数。

3.3 版中的新功能。

用于方便模块实现 DB API 的宏:

PyObject *PyDateTime_FromTimestamp(PyObject *args)
给定一个适合传递给 datetime.datetime.fromtimestamp() 的参数元组,创建并返回一个新的 datetime.datetime 对象。
PyObject *PyDate_FromTimestamp(PyObject *args)
给定一个适合传递给 datetime.date.fromtimestamp() 的参数元组,创建并返回一个新的 datetime.date 对象。