aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2025-03-25 15:34:34 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2025-03-25 15:45:54 +0300
commit57c8fd26cffde1b13b7aae3eede09c4e6678d805 (patch)
tree91dce95acaa25ec744668ccb279f5b8248133b77
parent10140383a64741e05d59b76f226f245a4d7dfdbc (diff)
downloadydb-57c8fd26cffde1b13b7aae3eede09c4e6678d805.tar.gz
Intermediate changes
commit_hash:72d809978e1ee2aa3c9ffad1cc8a10fc59d61bee
-rw-r--r--yql/essentials/docs/en/udf/list/datetime.md40
-rw-r--r--yql/essentials/docs/ru/udf/list/datetime.md40
2 files changed, 24 insertions, 56 deletions
diff --git a/yql/essentials/docs/en/udf/list/datetime.md b/yql/essentials/docs/en/udf/list/datetime.md
index 9f2b967f023..6421a300947 100644
--- a/yql/essentials/docs/en/udf/list/datetime.md
+++ b/yql/essentials/docs/en/udf/list/datetime.md
@@ -37,16 +37,16 @@ Making a primitive type from an internal representation. It's always successful
* `DateTime::MakeDate(Resource<TM>{Flags:AutoMap}) -> Date`
* `DateTime::MakeTzDate(Resource<TM>{Flags:AutoMap}) -> TzDate`
-* `DateTime::MakeDate32(Resource<TM>{Flags:AutoMap}) -> Date32`
-* `DateTime::MakeTzDate32(Resource<TM>{Flags:AutoMap}) -> TzDate32`
+* `DateTime::MakeDate32(Resource<TM64>{Flags:AutoMap}) -> Date32`
+* `DateTime::MakeTzDate32(Resource<TM64>{Flags:AutoMap}) -> TzDate32`
* `DateTime::MakeDatetime(Resource<TM>{Flags:AutoMap}) -> Datetime`
* `DateTime::MakeTzDatetime(Resource<TM>{Flags:AutoMap}) -> TzDatetime`
-* `DateTime::MakeDatetime64(Resource<TM>{Flags:AutoMap}) -> Datetime64`
-* `DateTime::MakeTzDatetime64(Resource<TM>{Flags:AutoMap}) -> TzDatetime64`
+* `DateTime::MakeDatetime64(Resource<TM64>{Flags:AutoMap}) -> Datetime64`
+* `DateTime::MakeTzDatetime64(Resource<TM64>{Flags:AutoMap}) -> TzDatetime64`
* `DateTime::MakeTimestamp(Resource<TM>{Flags:AutoMap}) -> Timestamp`
* `DateTime::MakeTzTimestamp(Resource<TM>{Flags:AutoMap}) -> TzTimestamp`
-* `DateTime::MakeTimestamp64(Resource<TM>{Flags:AutoMap}) -> Timestamp64`
-* `DateTime::MakeTzTimestamp64(Resource<TM>{Flags:AutoMap}) -> TzTimestamp64`
+* `DateTime::MakeTimestamp64(Resource<TM64>{Flags:AutoMap}) -> Timestamp64`
+* `DateTime::MakeTzTimestamp64(Resource<TM64>{Flags:AutoMap}) -> TzTimestamp64`
#### Examples
@@ -344,18 +344,19 @@ SELECT
-- "2019-01-01 01:02:03 Europe/Moscow"
```
-## Parse {#parse}
+## Parse/Parse64 {#parse}
Parse a string into an internal representation using an arbitrary formatting string. Default values are used for empty fields. If errors are raised, NULL is returned.
#### List of functions
* `DateTime::Parse(String) -> (String{Flags:AutoMap}) -> Resource<TM>?`
+* `DateTime::Parse64(String) -> (String{Flags:AutoMap}) -> Resource<TM64>?`
Implemented specifiers:
* `%%`: the % character;
-* `%Y`: 4-digit year;
+* `%Y`: 4-digit year when using `Parse`, and variable length (1-6 digits) year with minus for the dates BC when using `Parse64`;
* `%m`: 2-digit month;
* `%d`: 2-digit day;
* `%H`: 2-digit hour;
@@ -372,12 +373,14 @@ $parse1 = DateTime::Parse("%H:%M:%S");
$parse2 = DateTime::Parse("%S");
$parse3 = DateTime::Parse("%m/%d/%Y");
$parse4 = DateTime::Parse("%Z");
+$parse5 = DateTime::Parse64("%m/%d/%Y");
SELECT
DateTime::MakeDatetime($parse1("01:02:03")), -- 1970-01-01T01:02:03Z
DateTime::MakeTimestamp($parse2("12.3456")), -- 1970-01-01T00:00:12.345600Z
DateTime::MakeTimestamp($parse3("02/30/2000")), -- NULL (Feb 30)
- DateTime::MakeTimestamp($parse4("Canada/Central")); -- 1970-01-01T06:00:00Z (conversion to UTC)
+ DateTime::MakeTimestamp($parse4("Canada/Central")), -- 1970-01-01T06:00:00Z (conversion to UTC)
+ DateTime::MakeTimestamp64($parse5("02/10/1931")), -- 1931-02-10T00:00:00Z (conversion to UTC)
```
For the common formats, wrappers around the corresponding util methods are supported. You can only get TM with components in the UTC timezone.
@@ -405,25 +408,6 @@ SELECT
-- 2009-10-14T16:55:33Z
```
-## Parse64 {#parse64}
-
-Parse a string into a wide internal representation using an arbitrary formatting string. Default values are used for empty fields. If errors are raised, NULL is returned.
-
-* `DateTime::Parse64(String) -> (String{Flags:AutoMap}) -> Resource<TM64>?`
-
-Implemented specifiers:
-
-* `%%`: the % character;
-* `%Y`: Variable length (1-6 digits) year with minus for the dates BC;
-* `%m`: 2-digit month;
-* `%d`: 2-digit day;
-* `%H`: 2-digit hour;
-* `%M`: 2-digit minutes;
-* `%S`: Seconds, can also accept microseconds in the formats from `XX` up to `XX.XXXXXX`;
-* `%Z`: The IANA name of the timezone (GMT);
-* `%b`: A short three-letter case-insensitive English name of the month (Jan);
-* `%B`: A full case-insensitive English name of the month (January).
-
## Standard scenarios
### Conversions between strings and seconds
diff --git a/yql/essentials/docs/ru/udf/list/datetime.md b/yql/essentials/docs/ru/udf/list/datetime.md
index 03afa6a6103..db804d14b2c 100644
--- a/yql/essentials/docs/ru/udf/list/datetime.md
+++ b/yql/essentials/docs/ru/udf/list/datetime.md
@@ -37,16 +37,16 @@
* `DateTime::MakeDate(Resource<TM>{Flags:AutoMap}) -> Date`
* `DateTime::MakeTzDate(Resource<TM>{Flags:AutoMap}) -> TzDate`
-* `DateTime::MakeDate32(Resource<TM>{Flags:AutoMap}) -> Date32`
-* `DateTime::MakeTzDate32(Resource<TM>{Flags:AutoMap}) -> TzDate32`
+* `DateTime::MakeDate32(Resource<TM64>{Flags:AutoMap}) -> Date32`
+* `DateTime::MakeTzDate32(Resource<TM64>{Flags:AutoMap}) -> TzDate32`
* `DateTime::MakeDatetime(Resource<TM>{Flags:AutoMap}) -> Datetime`
* `DateTime::MakeTzDatetime(Resource<TM>{Flags:AutoMap}) -> TzDatetime`
-* `DateTime::MakeDatetime64(Resource<TM>{Flags:AutoMap}) -> Datetime64`
-* `DateTime::MakeTzDatetime64(Resource<TM>{Flags:AutoMap}) -> TzDatetime64`
+* `DateTime::MakeDatetime64(Resource<TM64>{Flags:AutoMap}) -> Datetime64`
+* `DateTime::MakeTzDatetime64(Resource<TM64>{Flags:AutoMap}) -> TzDatetime64`
* `DateTime::MakeTimestamp(Resource<TM>{Flags:AutoMap}) -> Timestamp`
* `DateTime::MakeTzTimestamp(Resource<TM>{Flags:AutoMap}) -> TzTimestamp`
-* `DateTime::MakeTimestamp64(Resource<TM>{Flags:AutoMap}) -> Timestamp64`
-* `DateTime::MakeTzTimestamp64(Resource<TM>{Flags:AutoMap}) -> TzTimestamp64`
+* `DateTime::MakeTimestamp64(Resource<TM64>{Flags:AutoMap}) -> Timestamp64`
+* `DateTime::MakeTzTimestamp64(Resource<TM64>{Flags:AutoMap}) -> TzTimestamp64`
#### Примеры
@@ -350,18 +350,19 @@ SELECT
-- "2019-01-01 01:02:03 Europe/Moscow"
```
-## Parse {#parse}
+## Parse/Parse64 {#parse}
Распарсить строку во внутреннее представление, используя произвольную строку форматирования. Для незаполненных полей используются значения по умолчанию. При возникновении ошибок возвращается NULL.
#### Список функций
* `DateTime::Parse(String) -> (String{Flags:AutoMap}) -> Resource<TM>?`
+* `DateTime::Parse64(String) -> (String{Flags:AutoMap}) -> Resource<TM64>?`
Реализованные спецификаторы:
* `%%` - символ %;
-* `%Y` - год 4 цифры;
+* `%Y` - год 4 цифры - при использовании `Parse`, или 1-6 цифр и знак для дат до н.э. - при использовани `Parse64`;
* `%m` - месяц 2 цифры;
* `%d` - день 2 цифры;
* `%H` - час 2 цифры;
@@ -378,12 +379,14 @@ $parse1 = DateTime::Parse("%H:%M:%S");
$parse2 = DateTime::Parse("%S");
$parse3 = DateTime::Parse("%m/%d/%Y");
$parse4 = DateTime::Parse("%Z");
+$parse5 = DateTime::Parse64("%m/%d/%Y");
SELECT
DateTime::MakeDatetime($parse1("01:02:03")), -- 1970-01-01T01:02:03Z
DateTime::MakeTimestamp($parse2("12.3456")), -- 1970-01-01T00:00:12.345600Z
DateTime::MakeTimestamp($parse3("02/30/2000")), -- NULL (Feb 30)
- DateTime::MakeTimestamp($parse4("Canada/Central")); -- 1970-01-01T06:00:00Z (конвертация в UTC)
+ DateTime::MakeTimestamp($parse4("Canada/Central")), -- 1970-01-01T06:00:00Z (конвертация в UTC)
+ DateTime::MakeTimestamp64($parse5("02/10/1931")), -- 1931-02-10T00:00:00Z (конвертация в UTC)
```
## Parse конкретных форматов
@@ -411,25 +414,6 @@ SELECT
-- 2009-10-14T16:55:33Z
```
-## Parse64 {#parse64}
-
-Распарсить строку в широкое внутреннее представление, используя произвольную строку форматирования. Для незаполненных полей используются значения по умолчанию. При возникновении ошибок возвращается NULL.
-
-* `DateTime::Parse64(String) -> (String{Flags:AutoMap}) -> Resource<TM64>?`
-
-Реализованные спецификаторы:
-
-* `%%` - символ %;
-* `%Y` - год 1-6 цифр и знак, для дат до н.э.;
-* `%m` - месяц 2 цифры;
-* `%d` - день 2 цифры;
-* `%H` - час 2 цифры;
-* `%M` - минуты 2 цифры;
-* `%S` - секунды, может принимать и микросекунды в форматах от `XX` до `XX.XXXXXX`;
-* `%Z` - IANA имя таймзоны (GMT);
-* `%b` - короткое трехбуквенное регистронезависимое английское название месяца (Jan);
-* `%B` - полное регистронезависимое английское название месяца (January).
-
## Типовые сценарии
### Преобразования между строками и секундами