16 / 16 / 1
Регистрация: 29.11.2014
Сообщений: 227
|
||||||||||||||||
1 | ||||||||||||||||
Как преобразовать 20160911195120 в TDateTime?12.09.2016, 19:11. Показов 2423. Ответов 12
Метки нет Все метки)
(
Использую Инди, после цикла
получаю информацию о файлах на сервере в таком формате
20160911195120 20160912102900 ... и так далее Но как этот timestamp преобразовать в TDateTime? Пробовал в таком духе
0
|
|
12.09.2016, 19:11 | |
Ответы с готовыми решениями:
12
TDateTime как параметр функции Как перевести TDateTime в читаемый вид? Как в ячейке TGrid использовать TDateTime, TCheckBox, TString и TButton? Как проще всего вычислить разницу между TDateTime (в секундах)? |
![]() 4901 / 2771 / 851
Регистрация: 04.10.2012
Сообщений: 10,095
|
|
12.09.2016, 19:31 | 2 |
0
|
16 / 16 / 1
Регистрация: 29.11.2014
Сообщений: 227
|
||||||
12.09.2016, 19:38 [ТС] | 3 | |||||
Попробовал
[dcc32 Error] uVisualFrame_PSFTPCLient.pas(696): E2010 Incompatible types: 'TTimeStamp' and 'Int64' Может есть ещё какие-то варианты?
0
|
142 / 40 / 14
Регистрация: 16.06.2016
Сообщений: 239
|
||||||
12.09.2016, 19:42 | 4 | |||||
Эх, сразу видно, что кое-кто не изучал Pascal в школе...
И правильно делает - читай справку с описанием этой функции (поставить курсор в редакторе на неё -> нажать F1).
0
|
Модератор
3488 / 2611 / 741
Регистрация: 19.09.2012
Сообщений: 7,972
|
|
12.09.2016, 19:42 | 5 |
Если под 20160911195120 подразумевается 11.09.2016 19:51:20, то можно и самому простенький парсер написать.
0
|
16 / 16 / 1
Регистрация: 29.11.2014
Сообщений: 227
|
|
12.09.2016, 19:44 [ТС] | 6 |
Ребята, спасибо Вам, что отписались!!! Сейчас буду пробовать, напишу здесь о результатах.
А Паскаль в школе - да))) Не до такой степени видимо изучал.
0
|
![]() 4901 / 2771 / 851
Регистрация: 04.10.2012
Сообщений: 10,095
|
||||||
12.09.2016, 19:47 | 7 | |||||
0
|
16 / 16 / 1
Регистрация: 29.11.2014
Сообщений: 227
|
||||||
12.09.2016, 19:58 [ТС] | 8 | |||||
DateToStr(UnixToDateTime) дает
04.11.51019 ![]() Я так понимаю, если это число разобрать 20160911195120, то получится что то вроде 2016 09 11 195120 YYYY MM DD А вот 195120 типо 19 51 20 ? HH MM SS?? Добавлено через 3 минуты Попробовал
04.11.51019 13:45:20
0
|
![]() 4901 / 2771 / 851
Регистрация: 04.10.2012
Сообщений: 10,095
|
||||||
12.09.2016, 19:58 | 9 | |||||
0
|
142 / 40 / 14
Регистрация: 16.06.2016
Сообщений: 239
|
|
12.09.2016, 19:58 | 10 |
Это же очевидно. Никто не будет писать секунды между часами и минутами.
Вариант разбора этой строки я уже привёл (Copy() копирует символы из строки).
0
|
16 / 16 / 1
Регистрация: 29.11.2014
Сообщений: 227
|
|
12.09.2016, 20:08 [ТС] | 11 |
TimKruz, может и очевидно. Ты прав, но вот что, перезалил файл на FTP, по идее, на сервере он должен создаться вот прямо сейчас, получил
20160912170550 = 2016 09 12 17 05 50 А на часах 12:09:2016 22:07 Кто врёт?))
0
|
droider
|
12.09.2016, 20:10
#12
|
0
|
16 / 16 / 1
Регистрация: 29.11.2014
Сообщений: 227
|
||||||||||||||||||||||||||
13.09.2016, 00:37 [ТС] | 13 | |||||||||||||||||||||||||
droider, так не сканает, потому что у FileTimeToLocalFileTime в первом аргументе другой тип
Короче, я понял, что можно распарсить, но время он не по локали показывает, у меня GMT+5, 20160912171528 а на часах 22 15 Разница ровно в 5 часов Выходит либо руками эту разницу относительно GMT 0 учитывать, чтобы корректно время считать, либо с помощью правильной функции преобразовывать, но какой? Блин, первый раз с этим сталкиваюсь. Добавлено через 5 минут По идее вот этот код
01.01.1601 5:00:00 и как ни странно - вот эту разницу в 5 часов показывает)))) Можно, конечно из этого всего слепить решение, но хотелось бы узнать как правильно - никто не знает? Добавлено через 3 часа 57 минут В общем, народ, решение такое...
Всем спасибо за обсуждение и помощь! Удачи в кодинге. Тема закрыта. Добавлено через 15 секунд Всем спасибо за обсуждение и помощь! Удачи в кодинге. Тема закрыта. Добавлено через 15 минут Тоже самое в виде функции
0
|
13.09.2016, 00:37 | |
Помогаю со студенческими работами здесь
13
Как исправить ошибку - Could not find a match for 'operator AnsiString::=(TDateTime)' Как при определении TDateTime не учитывать сутки, часы или минуты?
TDateTime Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |