![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
У меня есть две переменные s1 и s2.
s1='2010-12-02 17:01:20'; (старт) s2='2010-12-03 00:20:30'; (конец) Мне нужно найти разницу между двумя этими датами в часах. Т.е. должно получится примерно 7 часов 19 минут. Это примерно. Я уже пробовал разделять эти две переменные и заносить правые части (те которые содержат само время) в две переменные типа tdatetime. И эти переменные выглядели так: t1='17:01:20'; t2='00:20:30'; И чтобы узнать разницу во времени достаточно просто написать 24*(t2-t1). Но вот беда, разница-то будет составлять -17 часов 19 минут, что конечно же неправильно. Вообщем пожалуйста помогите разобраться. |
|
#2
|
||||
|
||||
|
Юзай вот это:
Код:
function HoursBetween(const ANow: TDateTime; const AThen: TDateTime): Int64; |
|
#3
|
|||
|
|||
|
Не получится, ибо формат даты не тот.
|
|
#4
|
||||
|
||||
|
А вы без преобразования, прямо так из текста, планировали разницу получить? Ню-Ню.
|
|
#5
|
|||
|
|||
|
Нет. Дак ведь ошибку выдаст, как можно проводить арифметические операции с текстовым типом?
|
|
#6
|
|||
|
|||
|
кто сказал что с текстовым? а как же StrToDateTime?
|
|
#7
|
|||
|
|||
|
Ну так для этого и существует StrToTime, StrToDateTime
|
|
#8
|
|||
|
|||
|
Assistant не работает, пишет что '2010-12-02 17:01:20' is not a valid date time value. У даты ведь должен быть такой формат 2010/12/02, а у меня он такой 2010-12-02.
|
|
#9
|
|||
|
|||
|
дык через StringReplace замените - на / вот так:
Код:
var s1, new_s1: string; begin s1 := '2010-12-02 17:01:20'; new_s1 := StringReplace(s1,'-','/',[rfReplaceAll]); // в new_s1 будет дата с - end; Последний раз редактировалось Assistant, 29.04.2011 в 20:50. |
|
#10
|
|||
|
|||
|
Всем спасибо, я наше работающее решение. Мой впорос больше не актуален.
|
|
#11
|
||||
|
||||
|
Можно понаблюдаю за процессом перевода строки в дату?
|
|
#12
|
|||
|
|||
|
Цитата:
|
|
#13
|
||||
|
||||
|
А проблема в региональных настройках, которые могут быть абсолютно разными на разных компьютерах... Построй логическую цепочку и подумай, какой % юзеров будут ругать программистов из индии...
![]() |
|
#14
|
|||
|
|||
|
это уже проблема не региональных настроек, а программиста который пишет и не учитывает эти настройки. Тут спросили как перевести - я ответил ))
|
|
#15
|
||||
|
||||
|
Феникс, поддержу Assistant, если предполагаешь что система будет работать где-то (типа в разных часовых поясах), и если время для нее важно - продумай на этапе проектирования... А гринвич получить - не проблема...
|