datetime, lua: strptime-like parse format
To parse date/time strings using format string we use `strptime()` implementation from FreeBSD, which is modified to use our `struct datetime` data structure. List of supported format has been extended to include `%f` which is flag used whenever you need to process nanoseconds part of datetime value. ``` tarantool> T = date.parse('Thu Jan 1 03:00:00 1970', {format = '%c'}) tarantool> T - 1970-01-01T03:00:00Z tarantool> T = date.parse('12/31/2020', {format = '%m/%d/%y'}) tarantool> T - 2020-12-31T00:00:00Z tarantool> T = date.parse('1970-01-01T03:00:00.125000000+0300', {format = '%FT%T.%f%z'}) tarantool> T - 1970-01-01T03:00:00.125+0300 ``` Part of #6731 NO_DOC=internal NO_CHANGELOG=internal
Showing
- extra/exports 1 addition, 0 deletionsextra/exports
- src/lib/core/datetime.c 50 additions, 0 deletionssrc/lib/core/datetime.c
- src/lib/core/datetime.h 11 additions, 0 deletionssrc/lib/core/datetime.h
- src/lib/tzcode/CMakeLists.txt 1 addition, 1 deletionsrc/lib/tzcode/CMakeLists.txt
- src/lib/tzcode/strftime.c 1 addition, 56 deletionssrc/lib/tzcode/strftime.c
- src/lib/tzcode/strptime.c 720 additions, 0 deletionssrc/lib/tzcode/strptime.c
- src/lib/tzcode/timelocal.c 91 additions, 0 deletionssrc/lib/tzcode/timelocal.c
- src/lib/tzcode/timelocal.h 65 additions, 0 deletionssrc/lib/tzcode/timelocal.h
- src/lib/tzcode/tzcode.h 10 additions, 0 deletionssrc/lib/tzcode/tzcode.h
- src/lua/datetime.lua 16 additions, 1 deletionsrc/lua/datetime.lua
- src/lua/tnt_datetime.c 6 additions, 0 deletionssrc/lua/tnt_datetime.c
- test/app-tap/datetime.test.lua 137 additions, 85 deletionstest/app-tap/datetime.test.lua
Loading
Please register or sign in to comment