Работа с датами и временем
Code: |
{ **** UBPFD *********** by delphibase.endimus **** >> Функция преобразует текстовую строку, задающую название месяца, в номер месяца
функция преобразует текстовую строку,задающую название месяца, в номер месяца
Зависимости: ??? Автор: Сергей, nfkazakinbox.ru, Краснодар Copyright: VIP BANK Дата: 11 сентября 2002 г. ***************************************************** }
function NumMonth(SMonth: string): word; var i: byte; begin Result := 0; for i := 1to12do if AnsiUpperCase(SMonth) = Month[i] then Result := i end; |
...через цикл обхода элементов глобального массива LongMonthNames:
Code: |
Function GetMonthNumber(Month: String): Integer; Begin For Result := 1to12do If Month = LongMonthNames[Result] Then Exit; Result := 0; End;
|
https://delphiworld.narod
- Подробности
- Родительская категория: Работа с датами и временем
- Категория: Формат даты, преобразования дат и времени
Code: |
const SecPerDay = 86400; SecPerHour = 3600; SecPerMinute = 60;
function SecondToTime(const Seconds: Cardinal): Double; var ms, ss, mm, hh, dd: Cardinal; begin dd := Seconds div SecPerDay; hh := (Seconds mod SecPerDay) div SecPerHour; mm := ((Seconds mod SecPerDay) mod SecPerHour) div SecPerMinute; ss := ((Seconds mod SecPerDay) mod SecPerHour) mod SecPerMinute; ms := 0; Result := dd + EncodeTime(hh, mm, ss, ms); end;
procedure TForm1.Button1Click(Sender: TObject); begin label1.Caption := DateTimeToStr(Date + SecondToTime(86543)); end; |
https://delphiworld.narod
- Подробности
- Родительская категория: Работа с датами и временем
- Категория: Формат даты, преобразования дат и времени
Code: |
{ **** UBPFD *********** by delphibase.endimus**** >> Преобразование даты (месяц прописью)
Преобразование даты. Например: 23.02.02 преобразуется в 23 февраля 2002 года.
Зависимости: DecodeDate Автор: mukha, Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., Волгоград Copyright: mukha Дата: 17 ноября 2002 г. ***************************************************** }
function Monthstr(S: string): string; const Mes: array[1..12] ofstring = ('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'); var Year, Month, Day: Word; begin try StrToDate(S); // пр-ка правильности ввода даты DecodeDate(StrToDate(S), Year, Month, Day); Result := IntToStr(day); Result := Result + ' ' + Mes[Month]; Result := result + ' ' + IntToStr(Year) + ' года'; except raise Exception.Create('"' + s + '"' + ' - такой даты нет!'); end; end; |
- Подробности
- Родительская категория: Работа с датами и временем
- Категория: Формат даты, преобразования дат и времени
Code: |
{ **** UBPFD *********** by delphibase.endimus **** >> Преобразование даты-времени в строковый вид и обратно (yyyymmddhhnnss)
Иногда становится нужно хранить дату и время в виде yyyymmddhhnnss. Так, по некоторым причинам, с ними порой легче общаться и сортировать.
Зависимости: Windows, StdCtrls, SysUtils Автор: mfender, mfenderfromru.com, Майкоп Copyright: mfender Дата: 10 августа 2003 г. ***************************************************** }
function mfStringToDateTime(const mfDTStr: string): TDateTime; //Возвращает значение TDateTime из входящей строки mfDTStr //в формате YYYYMMDDHHMMSS var Safe: string; begin Safe := ShortDateFormat; //сохраняем формат даты ShortDateFormat := 'dd.mm.yyyy hh:nn:ss'; //придаем произвольный вид //формату даты-времени mfStringToDateTime := StrToDateTime(Copy(mfDTStr, 7, 2) + '.' + Copy(mfDTStr, 5, 2) + '.' + Copy(mfDTStr, 1, 4) + ' ' + Copy(mfDTStr, 9, 2) + ':' + Copy(mfDTStr, 11, 2) + ':' + Copy(mfDTStr, 13, 2)); //Преобразуем, собственно, части строки в соответствующие //детали даты и времени ShortDateFormat := Safe; //возвращаем дате первоначальный вид end;
function mfDateTimeToString(const Date: TDateTime): string; //Возвращает строку в формате YYYYMMDDHHNNSS из входящей DateTime begin mfDateTimeToString := FormatDateTime('yyyymmddhhnnss', Date); //No comments end; |
https://delphiworld.narod
DelphiWorld 6.0
- Подробности
- Родительская категория: Работа с датами и временем
- Категория: Формат даты, преобразования дат и времени
Code: |
{ **** UBPFD *********** by delphibase.endimus **** >> Преобразование количества секунд в формат TTIME (ЧЧ:ММ:СС).
Преобразование количества секунд в формат TTIME (ЧЧ:ММ:СС). На выходе функции, получаем TTIME
Зависимости: system, sysutils Автор: VID, vidsnapmail.ru, ICQ:132234868, Махачкала Copyright: VID Дата: 14 июня 2002 г. ***************************************************** }
function SecToTime(Sec: Integer): TTime; var H, M, S: INTEGER; HS, MS, SS: string; begin S := Sec; M := Round(INT(S / 60)); S := S - M * 60; //Seconds H := Round(INT(M / 60)); //Hours M := M - H * 60; //Minutes if H < 10then HS := '0' + Inttostr(H) else HS := inttostr(H); if M < 10then MS := '0' + Inttostr(M) else MS := inttostr(M); if S < 10then SS := '0' + inttostr(S) else SS := inttostr(S); RESULT := StrToTime(HS + ':' + MS + ':' + SS); end; |
Пример использования:
ShowMessage(TimeToStr(SecToTime(50)));
//получаем сообщение:
"00:00:50 "
- Подробности
- Родительская категория: Работа с датами и временем
- Категория: Формат даты, преобразования дат и времени
Страница 2 из 10