|
Преобразовать строку в дату 12/24 | ☑ | ||
---|---|---|---|---|
0
lirt82
21.04.22
✎
07:55
|
Как преобразовать строку с датой в 24-вой формат?
Дата("4/19/2022 10:56:27 PM") Преобразование значения к типу Дата не может быть выполнено |
|||
1
Ненавижу 1С
гуру
21.04.22
✎
08:00
|
(0)
Способы: 1. распарсить строку правильно, преобразовать в дату, вывести в нужном формате 2. найти хвост, если он "PM", то найти часы между "первым пробелом и первым двоеточием", преобразовать в число, добавить 12, вернуть в строку. Строку выводить без хвоста AM/PM |
|||
2
hhhh
21.04.22
✎
08:01
|
(0) несложно свою функцию написать.
|
|||
3
lirt82
21.04.22
✎
08:02
|
(1) 2 вариант:)
|
|||
4
Serg_1960
21.04.22
✎
08:26
|
(2) Сложно написать красиво :)
|
|||
5
Serg_1960
21.04.22
✎
08:34
|
(1) Неверно и некрасиво.
|
|||
6
dreizehn
21.04.22
✎
08:37
|
(1) А месяц и день на нужные позиции ставить - Александр Сергеевич будет?
|
|||
7
Ненавижу 1С
гуру
21.04.22
✎
08:43
|
(6) а какие нужные?
|
|||
8
Fish
21.04.22
✎
08:45
|
(7) "Строка должна содержать дату в локальном формате даты или в каноническом виде YYYYMMDDHHMMSS." (c)
|
|||
9
Azverin
21.04.22
✎
09:08
|
Я вот специально навёл на ник ТС. Увидел Вуди и успокоился.
|
|||
10
Serg_1960
21.04.22
✎
09:28
|
(1) "преобразовать в число, добавить 12"...
12:00 a.m. это... 00:00 (24:00 - армия, авиация, космос, метеорологи, медики, спец.службы и т.д.), а 12:00 p.m. - это... 12:00, полдень :) |
|||
11
Ненавижу 1С
гуру
21.04.22
✎
09:41
|
(8) это как следует из написанного в (0)?
|
|||
12
VoditelKobyly
21.04.22
✎
09:41
|
(0) Подключиться напрямую к SQL базе и кинуть запрос что-то типа: select
convert(datetime, '4/19/2022 10:56:27 PM',102) |
|||
13
Fish
21.04.22
✎
09:44
|
(11) в (0) озвучена цель: преобразовать строку в дату. Для преобразования строка должна содержать дату в каноническом виде. Это очевидно вообще-то.
|
|||
14
dreizehn
21.04.22
✎
09:52
|
(12) А вы умножать два на два, наверно, на микросервис на GO ходите? Шардинг там, высокая эффективность?
|
|||
15
Ненавижу 1С
гуру
21.04.22
✎
09:53
|
(13) в (0) озвучена цель получить представление даты в 24-часовом формате
и больше ничего не озвучено и для этого вообще можно дату не получать |
|||
16
Fram
21.04.22
✎
11:01
|
(0) дата время в американском формате. А таймзона где?
|
|||
17
Fish
21.04.22
✎
11:07
|
А вообще, можно посмотреть Функцию БСП СтроковыеФункцииКлиентСервер.СтрокаВДату()
|
|||
18
Fish
21.04.22
✎
11:16
|
(15) "и больше ничего не озвучено" - А заголовок ветки не читал?
|
|||
19
Ненавижу 1С
гуру
21.04.22
✎
11:54
|
(18) не бывает даты 12/24 виде, бывает ее представление
человек хочет строковое представление даты |
|||
20
Serg_1960
21.04.22
✎
12:01
|
(17) Лень смотреть, но кажется эта функция преобразует строку в дату без времени. И американский формат даты (месяц/день/год) не понимает.
|
|||
21
Serg_1960
21.04.22
✎
12:06
|
(19) И не озвучивает формат строкового представления даты - это же Волшебный форум телепатов :)
|
|||
22
Fish
21.04.22
✎
12:15
|
(20) Не, время там можно задать параметром. А по поводу формата - я же не предлагал использовать функцию как есть, а предлагал посмотреть. Имхо, в качестве примера для написания своей функции она неплоха.
|
|||
23
Garykom
гуру
21.04.22
✎
12:20
|
(0) Нанять программиста.
|
|||
24
Serg_1960
21.04.22
✎
14:08
|
"А что у вас?" (дело было вечером, делать было нечего)...
Пример = "4/19/2022 10:56:27 PM"; Строки = СтрРазделить(Пример, " "); Дата = Строки[0]; Время = Строки[1]; Признак = Строки[2]; Строки = СтрРазделить(Дата,"/"); День = Число(Строки[1]); Месяц = Число(Строки[0]); Год = Число(Строки[2]); Строки = СтрРазделить(Время,":"); Час = Число(Строки[0]); Минута = Число(Строки[1]); Секунда = Число(Строки[2]); Час = ?(Признак = "AM", ?(Час = 12, Час - 12, Час), ?(Час <> 12, Час + 12, Час)); Результат = Формат(Дата(Год, Месяц, День, Час, Минута, Секунда),"ДФ='dd.MM.yyyy HH:mm:ss'"); |
|||
25
НЕА123
21.04.22
✎
15:10
|
(24)
Строки = СтрРазделить(Пример, "/ :"); Месяц = Строки[0]; Дата = Строки[1]; ...... по СП можно. у меня работает. однако, в какой-то платформе не работает(ищет второй параметр целиком) |
|||
26
Serg_1960
21.04.22
✎
16:32
|
(25) У меня в УПП совместимость, наверное, не позволяет использовать сразу несколько разделителей, поэтому вот такое поэтапное разделение.
|
|||
27
Garykom
гуру
21.04.22
✎
16:37
|
(25) СтрЗаменить сначала сделать пару раз, тоже нашел траблу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |