We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 27a696a commit ec0ad3dCopy full SHA for ec0ad3d
2 files changed
docs/types.rst
@@ -184,6 +184,14 @@ Date and time
184
* - ``PrimitiveType.Interval64``
185
- extended-range interval
186
187
+.. note::
188
+
189
+ When a ``datetime.datetime`` is passed for ``Datetime``, ``Datetime64``,
190
+ ``Timestamp`` or ``Timestamp64``, a tz-naive value is written as-is (its
191
+ wall-clock value), while a tz-aware value is converted to UTC first.
192
+ Integer inputs (seconds for ``Datetime``/``Datetime64``, microseconds for
193
+ ``Timestamp``/``Timestamp64`` since the Unix epoch) are still accepted.
194
195
Other
196
^^^^^
197
tests/aio/test_types.py
@@ -59,11 +59,12 @@ async def test_types(driver, database, value, ydb_type):
59
@pytest.mark.parametrize(
60
"value,ydb_type,result_value",
61
[
62
- # FIXME: TypeError: 'datetime.datetime' object cannot be interpreted as an integer
63
- # (test_dt_today, "Datetime", test_dt_today),
64
(test_today, "Date", test_today),
65
(365, "Date", date(1971, 1, 1)),
66
(3600 * 24 * 365, "Datetime", datetime(1971, 1, 1, 0, 0)),
+ (datetime(1971, 1, 1, 0, 0), "Datetime", datetime(1971, 1, 1, 0, 0)),
+ (datetime(1970, 1, 1, 4, 0, tzinfo=tz4h), "Datetime", datetime(1970, 1, 1, 0, 0)),
67
+ (datetime(1969, 1, 1, 0, 0), "Datetime64", datetime(1969, 1, 1, 0, 0)),
68
(datetime(1970, 1, 1, 4, 0, tzinfo=tz4h), "Timestamp", datetime(1970, 1, 1, 0, 0)),
69
(test_td, "Interval", test_td),
70
(test_now, "Timestamp", test_now),
0 commit comments