Имя: Пароль:
1C
1С v8
на каком-то этапе преобразований началодня() дает не начало дня
0 furchia
 
22.05.24
16:59
Здравствуйте
собственно код:
ЗаписьXML.ЗаписатьТекст(XMLСтрока(Формат(НачалоДня(ТекущаяДата()), "ДФ='yyyy-MM-dd чч:мм:сс'" )));

дает:
<created_date>2024-05-22 12:00:00</created_date>

тут всё устраивает, кроме 12. в чем может быть дело?(((
1 Волшебник
 
22.05.24
17:03
Код не соответствует сформированной строке. Вы смотрите не туда
2 furchia
 
22.05.24
17:27
ну хз...
запустил глобальный поиск по конфигурации, со временем пример не нашел, но подобные или похожие строки есть, типа
ДобавитьУзелXML(УзелДокумент, "ДатаДок", Истина, XMLСтрока(Формат(ТекущаяДатаСеанса(), "ДФ=dd.MM.yyyy")));
(из модуля "документооборотСКонтролирующимиОрганами")
про нотацию w3 прочел, я так понимаю это из-за часовых поясов? но ставлю Z, он все равно не выдает нужные 00:00:00
3 Гена
 
22.05.24
17:40
(0) Хрустальный шар вещает, что data.set использует AM / PM
Давайте проверим: принудительно на компе установите любое утреннее время.
4 furchia
 
22.05.24
17:50
ЗаписьXML.ЗаписатьТекст(XMLСтрока(Формат('20240520010101', "ДФ='yyyy-MM-dd чч:мм:сс'" )));
дает
<created_date>2024-05-20 01:01:01</created_date>
5 Гена
 
22.05.24
17:51
Пожалуй, это не шар, а ёжик. Даже ему понятно, что для вечернего времени начало дня будет 0 PM или 12:00:00 для 24-часов.
6 Anton1307
 
22.05.24
17:54
ЧЧ большими буквами напиши
7 furchia
 
22.05.24
17:57
(5)
Параметры

Описание параметров функции НачалоДня():
Имя параметра*     Тип     Описание
Дата     Дата     Исходная дата.
*Жирным шрифтом выделены обязательные параметры
Возвращаемое значение

Дата и время
Описание

Функция НачалоДня() возвращает дату и время начала дня для указанной даты (временная составляющая всегда равна 00:00:00).
Доступность
Версия     Поддержка
8.1     Сервер, Клиент, Внешнее соединение
8.2     Сервер, Толстый клиент, Тонкий клиент, Веб-клиент, Внешнее соединение
8.3     Сервер, Толстый клиент, Тонкий клиент, Веб-клиент, Внешнее соединение, Мобильный автономный сервер, Мобильный клиент, Мобильное приложение
****
ладно, дату выделяет верно (я надеюсь переползать на день раньше или позже он не будет?) остальное ПОКА не стольсущественно.
8 furchia
 
22.05.24
17:59
(6) да работает, спасибо! где можно лайк поставить?
9 Кондер
 
22.05.24
18:02
Передумал
10 Anton1307
 
22.05.24
18:07
Ну вообще код перегружен.

Во-первых - XMLСтрока(Формат(...)) не имеет смысла, поскольку Формат() возвращает строку, и XMLСтрока() эту строку просто вернёт как есть (это прямо сказано в документации).

Во-вторых - ты получаешь НачалоДня() а потом форматируешь до часов-минут-секунд, которые всегда будут "00:00:00".

Можно было написать проще:

ЗаписьXML.ЗаписатьТекст(Формат(ТекущаяДата(), "ДФ='yyyy-MM-dd'") + " 00:00:00");
11 Serg_1960
 
22.05.24
19:31
[OFF]
hh час из двух цифр, в 12-часовом формате...
HH Час из двух цифр, в 24-часовом формате...

Источник: "Форматирование даты и времени"
https://learn.microsoft.com/ru-ru/system-center/orchestrator/standard-activities/format-date-time?view=sc-orch-2022
12 Волшебник
 
22.05.24
19:36
(8) 👍 Вот так
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn