blob: 1ffe1337a6b80a594da8738bb31edf16ae6cb254 [file] [log] [blame]
Serhiy Storchaka1009bf12015-04-03 23:53:51 +03001/*[clinic input]
2preserve
3[clinic start generated code]*/
4
5PyDoc_STRVAR(datetime_datetime_now__doc__,
6"now($type, /, tz=None)\n"
7"--\n"
8"\n"
9"Returns new datetime object representing current time local to tz.\n"
10"\n"
11" tz\n"
12" Timezone object.\n"
13"\n"
14"If no tz is specified, uses local timezone.");
15
16#define DATETIME_DATETIME_NOW_METHODDEF \
Victor Stinner37e4ef72016-09-09 20:00:13 -070017 {"now", (PyCFunction)datetime_datetime_now, METH_FASTCALL|METH_CLASS, datetime_datetime_now__doc__},
Serhiy Storchaka1009bf12015-04-03 23:53:51 +030018
19static PyObject *
20datetime_datetime_now_impl(PyTypeObject *type, PyObject *tz);
21
22static PyObject *
Victor Stinner37e4ef72016-09-09 20:00:13 -070023datetime_datetime_now(PyTypeObject *type, PyObject **args, Py_ssize_t nargs, PyObject *kwnames)
Serhiy Storchaka1009bf12015-04-03 23:53:51 +030024{
25 PyObject *return_value = NULL;
Serhiy Storchaka9171a8b2016-08-14 10:52:18 +030026 static const char * const _keywords[] = {"tz", NULL};
27 static _PyArg_Parser _parser = {"|O:now", _keywords, 0};
Serhiy Storchaka1009bf12015-04-03 23:53:51 +030028 PyObject *tz = Py_None;
29
Victor Stinner3e1fad62017-01-17 01:29:01 +010030 if (!_PyArg_ParseStackAndKeywords(args, nargs, kwnames, &_parser,
Serhiy Storchaka5dee6552016-06-09 16:16:06 +030031 &tz)) {
Serhiy Storchaka1009bf12015-04-03 23:53:51 +030032 goto exit;
Serhiy Storchaka5dee6552016-06-09 16:16:06 +030033 }
Serhiy Storchaka1009bf12015-04-03 23:53:51 +030034 return_value = datetime_datetime_now_impl(type, tz);
35
36exit:
37 return return_value;
38}
Victor Stinner259f0e42017-01-17 01:35:17 +010039/*[clinic end generated code: output=ff78f2f51687e9a9 input=a9049054013a1b77]*/