Содержание

Формат даты и времени

Главный модуль

Основные сведения

В таблице сведены основные форматы даты и времени, используемые в разных странах.

Страна/язык Формат даты Формат времени Пример даты Пример времени
Россия DD.MM.YYYY HH:MI:SS 26.01.1993 18:24:00
США MM-DD-YYYY HH:MI:SS 01-26-1993 18:24:00
Международный английский DD-MM-YYYY HH:MI:SS 26-01-1993 18:24:00
Великобритания DD/MM/YYYY HH:MI:SS 26/01/1993 18:24:00
Германия DD.MM.YYYY HH:MI:SS 26.01.1993 18:24:00
Бельгия DD/MM/YYYY HH:MI:SS 26/01/1993 18:24:00
Бразилия DD/MM/YYYY HH:MI:SS 26/01/1993 18:24:00
Венгрия YYYY-MM-DD HH:MI:SS 1993-01-26 18:24:00
Дания DD-MM-YYYY HH. MI.SS 26-01-1993 18.24.00
Италия DD/MM/YYYY HH.MI.SS 26/01/1993 18.24.00
Испания DD/MM/YYYY HH:MI:SS 26/01/1993 18:24:00
Канада (франц.) YYYY-MM-DD HH:MI:SS 1993-01-26 18:24:00
Латинская Америка DD/MM/YYYY HH:MI:SS 26/01/1993 18:24:00
Нидерланды DD-MM-YYYY HH:MI:SS 26-01-1993 18:24:00
Норвегия DD.MM.YYYY HH:MI:SS 26.01.1993 18:24:00
Польша YYYY-MM-DD HH:MI:SS 1993-01-26 18:24:00
Португалия DD-MM-YYYY HH:MI:SS 26-01-1993 18:24:00
Сербия/Югославия DD. MM.YYYY HH.MI.SS 26.01.1993 18.24.00
Словакия YYYY-MM-DD HH:MI:SS 1993-01-26 18:24:00
Словения YYYY-MM-DD HH:MI:SS 1993-01-26 18:24:00
Финляндия YYYY-MM-DD HH.MI.SS 1993-01-26 18.24.00
Франция DD.MM.YYYY HH:MI:SS 26.01.1993 18:24:00
Чехия YYYY-MM-DD HH:MI:SS 1993-01-26 18:24:00
Швейцария DD.MM.YYYY HH,MI,SS 26.01.1993 18,24,00
Швеция YYYY-MM-DD HH.MI.SS 1993-01-26 18. 24.00

© «Битрикс», 2001-2023, «1С-Битрикс», 2023

Наверх

Работа с полями дат—Portal for ArcGIS

Во многих векторных слоях хранится информация о дате и времени. Дата и время могут представлять информацию о том, когда объект был в определенном местоположении или когда он впервые наблюдался в реальном мире. Или дата и время могут быть связаны с другими непространственными атрибутами слоя, например это может быть дата продажи недвижимости, дата последнего отбора проб в определенном водоеме или дата и время, когда автомобиль службы быстрого реагирования выехал из депо.

В ArcGIS Enterprise вы можете активировать анимацию времени на карте, чтобы использующие эту карту люди могли посмотреть изменения в динамике. Вы также можете включить информацию о дате или дате и времени во всплывающих окнах, настроив их для слоя.

Данные времени хранятся в полях дат размещенных векторных слоев. Чтобы корректно добавить, редактировать и интерпретировать значения дат в размещенных векторных слоях, очень важно понимать, как даты хранятся и отображаются. При работе с полями дат нужно учитывать следующее:

Ввод дат в формате MM/DD/YYYY hh:mm:ss

Вы можете добавить значения даты слоям векторных объектов, используя раскрывающиеся меню даты и времени в Map Viewer, вкладку Данные на странице элемента слоя или приложение. Если вы вычисляете значения поля дат для ввода в поле или запроса к полю, даты должны быть введены в формате MM/DD/YYYY hh:mm:ss, заключенные в одинарные кавычки. Например, чтобы задать полю дат 5:00 PM May 27, 2014, необходимо ввести ’05/27/2014 05:00:00PM’, ’05/27/2014 5:00PM’ или ’05/27/2014 17:00:00′ (24-часовое исчисление). Хранение только одного времени не поддерживается – время всегда должно быть компонентой даты. Если вы не предоставили данные о времени, время по умолчанию — 12:00.

Опубликованные поля дат хранят время в UTC

Всемирное координированное время (сокращено UTC), и оно эквивалентно текущему времени на нулевом меридиане Земли (ноль градусов долготы), расположенном рядом с Гринвичем в Англии. UTC является более точной версией GMT (Greenwich Mean Time). Когда вы публикуете векторный слой, содержащий поля дат из файлов, ArcGIS Pro или приложения ArcGIS Desktop, укажите, находятся ли значения дат в локальном часовом поясе или в UTC. Если поля дат содержат информацию о локальном часовом поясе, вы должны указать это при публикации слоя. Это позволяет в процессе публикации преобразовывать локальные данные времени в UTC для хранения в базе данных. Значения времени будут отображаться правильно в соответствии с местным временем их просмотра на портале. Однако данные конвертируются и сохраняются в базе данных в UTC. Даты конвертируются в формат UTC, так как сервер ваших данных и люди, просматривающие карты с этими данными, могут располагаться в любой точке мира. Хранение времени в UTC позволяет ArcGIS Enterprise преобразовывать данные в правильный местный часовой пояс независимо от местоположения сервера или пользователя приложения.

Как отображаются даты

Способ отображения значений даты и времени определяется используемым клиентом. Каждый раз при отображении поля даты в вашем портале, данные конвертируются из UTC в местное время. Это выполняется с помощью запроса вашего компьютера для определения его настроек часового пояса. Например, предположим, что ваш компьютер настроен на Тихоокеанское стандартное время (PST). PST отстает от UTC на восемь часов – 9:00 часов утра по UTC соответствует 1:00 часу ночи по PST. PST (или 2:00, если действует летнее время).

Вставка значений даты и времени

Когда вы вычисляете значения дат и времени на размещенном векторном слое при помощи стандартных функций дат SQL, вы должны указывать время в формате UTC. Когда вычисленное значение отображается в таблице, оно будет отображено в соответствии с местным временем. Например, если ваше местное время — PST, и вы вводите в качестве выражения вычисления ’05/27/2014 12:23:00 PM’, значение в вычисленных полях будет отображаться с преобразованием времени в соответствии с временем вашего компьютера. В данном примере вычисленное значение будет отображаться как ’05/27/20140 5:23:00 AM’.

Поддерживаемые форматы данных в файлах

Когда вы добавляете файлы, такие как Microsoft Excel, CSV или другие текстовые файлы с разделителями, ArcGIS Enterprise распознает только следующие форматы:

Следующие даты поддерживаются при публикации размещённого векторного слоя из файла CSV:

ФорматПример

М/ДД/ГГГГ

7/28/2009

ММ/ДД/ГГГГ

07/28/2009

М/ДД/ГГ

7/28/09

ММ/ДД/ГГ

07/28/09

ГГГГ/ММ/ДД

2009/07/28

ГГГГ-ММ-ДД

28. 07.2009

ГГГГ/ММ/ДД чч:мм:сс

2009/07/28 17:23:00

YYYY/M/DD hh:mm:ss

2009/7/28 17:23:00

ГГГГ-ММ-ДД чч:мм:сс

28.07.2009 17:23:00

YYYY-M-DD hh:mm:ss

28.07.2009 17:23:00

Если поле, настроенное на хранение даты, содержит неподдерживаемый или недопустимый формат, в итоговом размещенном векторном слое будет создано строковое поле, даже если изменить тип поля перед публикацией.

Если вы добавляете CSV-файл напрямую в Map Viewer, следующие форматы дат загружаются как даты, но времена не отображаются в таблице в Map Viewer:

ФорматПример вводаЗначение таблицы

М/ДД/ГГГГ 12-часовое время

28.07.2009 17:23

Июль 28, 2009

ММ/ДД/ГГГГ 12-часовое время

28.07.2009 17:23

Июль 28, 2009

М/ДД/ГГ 12-часовое время

28. 07.2009 17:23

Июль 28, 2009

ММ/ДД/ГГ 12-часовое время

28.07.2009 17:23

Июль 28, 2009

Если вы добавляете CSV-файл напрямую в Map Viewer, следующие форматы даты загружаются в виде строковых полей в точности так, как они отображаются в CSV-файле:

ФорматПример ввода

М/ДД/ГГГГ

7/28/2009

ММ/ДД/ГГГГ

07/28/2009

М/ДД/ГГГГ 24-часовое время

28. 07.2009 17:23

ММ/ДД/ГГГГ 24-часовое время

28.07.2009 17:23

М/ДД/ГГ

7/28/09

ММ/ДД/ГГ

07/28/09

М/ДД/ГГ 24-часовое время

28.07.2009 17:23

ММ/ДД/ГГ 24-часовое время

28.07.2009 17:23

Месяц ДД

Июль 28

ГГГГ/ММ

2009/07

ГГГГ-ММ

2009 -07

ГГГГ/ММ/ДД

2009/07/28

ГГГГ-ММ-ДД

28. 07.2009

ГГГГ/ММ/ДД чч:мм:сс

2009/07/28 17:23:00

ГГГГ-ММ-ДД чч:мм:сс

28.07.2009 17:23:00

ГГГГ/ММ/ДД чч:мм:сс.с

2009/07/28 17:23:00.0

ГГГГ-ММ-ДД чч:мм:сс.с

2009-07-28 17:23:00.0

Когда вы добавляете файл TXT в Map Viewer, следующие форматы даты распознаются как поля даты:

ФорматПример вводаЗначение таблицы

М/ДД/ГГГГ 12-часовое время

28. 07.2009 17:23

Июль 28, 2009

ММ/ДД/ГГГГ 12-часовое время

28.07.2009 17:23

Июль 28, 2009

ММ/ДД/ГГ 12-часовое время

28.07.2009 17:23

Июль 28, 2009

День недели, Месяц ДД, ГГГГ 12-часовое время*

28 июля 2009 г. 17:23

Июль 28, 2009

Месяц ДД, ГГГГ 12-часовое время*

28 июля 2009 г. 17:23

Июль 28, 2009

* Эти форматы даты поддерживаются только в том случае, если вы разделяете поля с помощью табуляции или точки с запятой.

Изменение формата отображения полей даты

Вы можете изменить способ отображения дат в таблице на портале. Таблицы отображаются с тем же форматированием, которое настроено во всплывающих окнах. Вы можете изменить формат отображения поля даты посредством выбора псевдонима поля в окне Настроить атрибуты из диалога Свойства всплывающих окон (там же есть возможность установить и более приемлемый формат даты, написав для этого выражение на Arcade).


Отзыв по этому разделу?

Спецификаторы формата даты и времени

Применяется к TestComplete 15.52, последнее изменение 6 июня 2023 г.

В этом разделе описываются спецификаторы формата, которые можно использовать в функции aqConvert. DateTimeToFormatStr . Эта функция преобразует значения даты и времени в строки, ее параметр FormatStr определяет точное содержимое результирующей строки. FormatStr — это строка, которая может содержать любые символьные символы и ряд специальных символов, перед которыми стоит символ %. Последние символы называются спецификаторами формата. Обычные символы копируются из FormatStr в результирующую строку без каких-либо изменений, тогда как спецификаторы формата заменяются соответствующими элементами даты или времени.

Доступны следующие спецификаторы формата:

Сокращенное название дня недели.
Полное название дня недели.
%b Сокращенное название месяца.
Полное название месяца.
Представление даты и времени в соответствии с региональными настройками. Если флаг # ( %#c ) предшествует спецификатору, используется длинное представление даты и времени.
%d День месяца в виде десятичного числа (01–31). Если перед спецификатором стоит флаг # ( %#d ), начальные нули удаляются из числа.
%H Час в 24-часовом формате (00–23). Если флаг # ( %#H ) предшествует спецификатору, начальные нули удаляются из числа.
%I Час в 12-часовом формате (01–12). Если перед спецификатором стоит флаг # ( %#I ), начальные нули удаляются из числа.
%j День года в виде десятичного числа (001–366). Если флаг # (
%#j
) предшествует спецификатору, начальные нули удаляются из числа.
Месяц в виде десятичного числа (01–12). Если перед спецификатором стоит флаг # ( %#m ), начальные нули удаляются из числа.
Минуты в виде десятичного числа (00–59). Если перед спецификатором стоит флаг # ( %#M ), начальные нули удаляются из числа.
Текущая локаль A.M./P.M. индикатор 12-часового формата.
%S Секунда в виде десятичного числа (00–59). Если флаг # ( %#S ) предшествует спецификатору, начальные нули удаляются из числа.
%U Неделя года в виде десятичного числа, с воскресеньем в качестве первого дня недели (00–53). Если флаг # ( %#U ) предшествует спецификатору, начальные нули удаляются из числа.
%w День недели в виде десятичного числа (0–6; воскресенье равно 0). Если перед спецификатором стоит флаг # ( %#w ), начальные нули удаляются из числа.
%W Неделя года в виде десятичного числа, с понедельником в качестве первого дня недели (00–53). Если перед спецификатором стоит флаг # (
%#W
), начальные нули удаляются из числа.
Представление даты для текущей локали. Если флаг # ( %#x ) предшествует спецификатору, включено представление длинной даты.
Представление времени для текущей локали.
Год без века в виде десятичного числа (00–99). Если перед спецификатором стоит флаг # ( %#y ), начальные нули удаляются из числа.
Год с веком в виде десятичного числа. Если перед спецификатором стоит флаг # (
%#Y
), начальные нули удаляются из числа.
%z, %Z Либо имя часового пояса, либо аббревиатура часового пояса, в зависимости от настроек реестра; без символов, если часовой пояс неизвестен.
%% Знак процента.

См. также

Метод DateTimeToFormatStr
Работа с датами
Работа со временем

Площадка для форматирования даты в реальном времени для Swift

Простое форматирование даты Skeezy для Swift и Objective-C

Среда, 7 июня 2023 г.

EEEE, МММ д, гггг

EEEE, МММ д, гггг

07.06.2023

ММ/дд/гггг

 ММ/дд/гггг 

07.06.2023 03:51

ММ-дд-гггг ЧЧ:мм

 ММ-дд-гггг ЧЧ:мм 

7 июня, 3:51

МММ д, ч:мм а

 МММ д, ч:мм а 

июнь 2023

ММММ гггг

 ММММ гггг 

7 июня 2023 г.

МММ д, гггг

 МММ д, гггг 

Ср, 7 июня 2023 03:51:30 +0000

E, д МММ гггг ЧЧ:мм:сс Z

 E, д МММ гггг ЧЧ:мм:сс Z 

2023-06-07T03:51:30+0000

гггг-ММ-дд’Т’ЧЧ:мм:ссZ

 гггг-ММ-дд'T'ЧЧ:мм:ссZ 

07.06.23

дд.мм.гг

 дд.мм.гг 

03:51:30.871

ЧЧ:мм:сс.SSS

 ЧЧ:мм:сс. ССС 

Образец столбца следующей таблицы в основном основан на времени 14 декабря 2008 г. 16:35 UTC .

Символы Пример Описание
Год
у 2008 Год, без заполнения
г.г. 08 Год, две цифры (дополнение нулем при необходимости)
гггг 2008 Год, минимум четыре цифры (дополнение нулями при необходимости)
Квартал
В 4 Квартал года. Используйте QQ, если вы хотите заполнить нулями.
QQQ Q4 Четверть включая «Q»
QQQQ 4 квартал Квартал прописан
Месяц
М 12 Числовое значение месяца в году. Одиночный M будет использовать «1» для января.
ММ 12 Числовое значение месяца в году. Двойная М будет использовать «01» для января.
МММ декабрь Сокращенное название месяца
ММММ декабря Полное название месяца
МММММ Д Узкое название месяца
День
д 14 День месяца. Одиночное d будет использовать 1 для 1 января.
дд 14 День месяца. Двойное d будет использовать 01 для 1 января.
Ф 2 (числовой) День недели в месяце.
Е Вт Аббревиатура дня недели
ЕЕЕЕ вторник Широкое название дня недели
ЕЕЕЕЕ Т Узкий день недели
ЕЕЕЕЕЕ Ту Короткий день недели
Час
ч 4 12-часовой час.
чч 04 Дополнение 12-часового часа нулем, если имеется только 1 цифра
Н 16 24-часовой час.
ЧЧ 16 24-часовой формат, дополненный нулем, если имеется только 1 цифра.
и вечера AM / PM для 12-часового формата времени
Минута
м 35 Минуты без заполнения нулями.
мм 35 Минута с заполнением нулями.
Второй
с 8 Секунды без заполнения нулями.
нержавеющая сталь 08 Секунды с заполнением нулями.
ССС 123 Миллисекунды.
Часовой пояс
ззз КНТ Трехбуквенное название часового пояса. Возвращается к GMT-08:00 (смещение часов), если имя неизвестно.
зззз Центральное стандартное время Расширенное имя часового пояса возвращается к GMT-08:00 (смещение часов), если имя неизвестно.
ЗЗЗЗ КНТ-06:00 Часовой пояс с сокращением и смещением
З -0600 Формат RFC 822 по Гринвичу. Также может соответствовать букве Z для зулусского времени (UTC).
ЗЗЗЗЗ -06:00 Формат часового пояса ISO 8601
Полную справку о доступных параметрах формата см. Технический справочник Unicode № 35.

Основное заблуждение, о котором следует помнить: dateFormat не поддерживает локаль

Следует помнить, что использование пользовательского формата dateFormat сопряжено с риском некоторых заблуждений.

В частности, вам нужно понимать, что пользователь может использовать разные локали, и что форматы даты различны для разных языков, регионов и пользовательских настроек. Например, одна дата в формате dateFormat, который подходит для США, может сбить с толку любого человека в Европе.

TL;DR

  • Используйте dateStyle и timeStyle вместо dateFormat всякий раз, когда это возможно. Объясните ошибки даты вашему дизайнеру, если вам нужно.
  • Если вы не можете найти подходящий dateStyle/timeStyle для форматирования дат вашего пользовательского интерфейса, по крайней мере, используйте dateFormatter.setLocalizedDateFormatFromTemplate(…) для учета локали пользователя.
  • При синтаксическом анализе интернет-дат ISO8601 всегда используйте ISO8601DateFormatter
  • Если вы не можете, потому что ваш формат API не соответствует ISO8601, и вам по-прежнему абсолютно необходимо использовать собственный формат даты, затем не забудьте также установить для dateFormatter. locale специальное значение Locale (идентификатор: «en_US_POSIX»).

Форматирование отображаемых пользователем дат для пользовательского интерфейса

У Apple уже есть специальный абзац в их документации о лучших методах форматирования даты для представления пользователю с учетом локали. Ниже только TL;DR.

Использование dateStyle и timeStyle

Основная рекомендация: предпочитает использовать dateStyle и timeStyle. по датеФормат .

Это связано с тем, что они учитывают локаль и учитывают множество крайних случаев. которые в противном случае вы можете пропустить при использовании пользовательского и жестко заданного формата dateFormat.

Я бы даже посоветовал вам убедить своего дизайнера не использовать пользовательский формат и объяснить ему, что Date а время — сложная тема с множеством пограничных случаев. и что, как правило, не стоит использовать собственный формат, который может соответствовать их предположениям о локали. и регион, к которому они привыкли, но могут не подходить для многих других.

Использование методов шаблонов DateFormatter для автоматической настройки для локали пользователя

Если вам все еще нужно использовать пользовательский формат даты, убедитесь, что вы используете dateFormatter.setLocalizedDateFormatFromTemplate(…) или dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate:…options:…locale:…) вместо того, чтобы установить его в жестко закодированную строку.

Работа с датами ISO8601 и фиксированными форматами для API

Документация Apple также есть специальный раздел об этих случаях здесь.

Использование ISO8601DateFormatter

Если вам нужно проанализировать даты ISO8601, рассмотрите используя ISODateFormatter вместо DateFormatter с настраиваемым форматом даты.

Этот класс предназначен для работы со стандартом ISO8601. и все его возможные варианты и крайние случаи лучше, чем использование пользовательского dateFormat.

Совет. Одна из малоизвестных возможностей ISO8601DateFormatter заключается в том, что он также может обрабатывать доли секунды, если вы настроили его с помощью formatter.formatOptions.insert(.withFractionalSeconds).

Всегда используйте локаль en_US_POSIX для фиксированных форматов

В крайнем случае, если вам нужно проанализировать дату для API, который не соответствует формату ISO8601, но это также не предназначено для пользовательского интерфейса (и, таким образом, , а не , должно зависеть от локали/региона/языка пользователя), то это единственный случай, когда вы можете использовать фиксированную строку в качестве значения для dateFormatter.dateFormat.

, НО , затем ВСЕГДА также устанавливайте ваш dateFormatter.locale в Locale (идентификатор: «en_US_POSIX») в вашем DateFormatter.

en_US_POSIX — это специальная локаль, гарантирующая, что форматирование и парсинг не будут зависеть от локали телефона и предназначен именно для парсинга этих «интернет-дат с фиксированным форматом».

Если вы не настроите локаль en_US_POSIX, существует риск того, что ваш код может показаться работающим в некоторых регионы (например, США), но не сможет проанализировать ваши ответы API, если у пользователя установлен телефон в другом регионе. (например, en_GB, es_ES или fr_FR), где формат даты отличается, или используйте 12-часовой формат времени. а не круглосуточно.

Вы можете проверить этот крайний случай на устройстве, установив настройки телефона для использования, например, es_ES и установив использовать 12-часовой формат с am/pm и попытаться разобрать дату, например 2020-01-15T22:00:00Z.

Для получения дополнительной информации о тех случаях, которые обычно упускают из виду, вы можете прочитать Apple TN1480.