Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Вычислить логарифм
Категория: Математика
Категория: Математика
Программно скрыть MainMenu
Категория: Компоненты
Категория: Компоненты
Последний день месяца
Категория: Базы данных
Категория: Базы данных
Затенение компонента определенным цветом
Категория: Компоненты
Категория: Компоненты
Проверить существование определённого URL
Категория: Базы данных
Категория: Базы данных
Быстрое копирование файлов
Категория: Файловая система
Категория: Файловая система
Сохраняем Bitmap в поле dbase
Категория: Базы данных
Категория: Базы данных
Добавление текстовой информации в .ехе-файл и чтение ее
Категория: Файловая система
Категория: Файловая система
BDE. Динамическое создание псевдонима
Категория: Базы данных
Категория: Базы данных
Упаковать TinyDB
Категория: Базы данных
Категория: Базы данных
Delphi - Справочник: DateTimeToString
DateTimeToString
|
1 procedure DateTimeToString ( var Result : string; const Formatting : string; DateTime : TDateTime ) ; 2 procedure DateTimeToString ( var Result : string; const Formatting : string; DateTime : TDateTime; const FormatSettings : TFormatSettings ) ; |
Процедура (Unit SysUtils)
|
Огромные возможности форматирования даты в строку
|
Описание:
|
Процедура DateTimeToString позволяет форматировать дату и время, и в нужном формате даты и времени DateTime ( тип TDateTime ) переводить в строку. Т.е Delphi процедура DateTimeToString позволяет форматировать и время и дату. Форматирование строки может включать смешивание обычных символов ( дата будет переведена в строку именно так, как укажет пользователь). Пример форматирования хорошо представлен в примере кода. Следующее (не-Азиатское) символы формата даты могут быть использованы: y = Год с 2-мя последними цифрами yy = Год с 2-мя последними цифрами yyyy = Год как 4 цифры m = Номер месяца без 0 mm = Номер месяца как 2 цифры mmm = Месяц с использованием ShortDayNames (Янв) mmmm = Месяц с использованием LongDayNames (Январь) d = Число без 0 dd = Число как 2 цифры ddd = День с использованием ShortDayNames (Воск) dddd = День с использованием LongDayNames (Воскресенье) ddddd = День с использованием ShortDateFormat dddddd = День с использованием LongDateFormat c = Используется ShortDateFormat + LongTimeFormat h = Час без 0 hh = Час без 0 n = Минуты без 0 nn = Минуты как 2 цифры s = Секунды без 0 ss = Секунды как 2 цифры z = Миллисекунды без 0 zzz = Миллисекунды как 3 цифры t = Исполльзуется ShortTimeFormat tt = Исполльзуется LongTimeFormat am/pm = Используется после h : возвращает 12 часов + am/pm a/p = Используется после h : возвращает 12 часов + a/p ampm = Как a/p но с TimeAMString,TimePMString / = Замененный значением DateSeparator : = Замененный значением TimeSeparator В дополнение к этому форматированию, различные из вышеупомянутых вариантов затрагиваются следующими переменными, использующими их как значения по умолчанию: DateSeparator = / TimeSeparator = : ShortDateFormat = dd/mm/yyyy LongDateFormat = dd mmm yyyy TimeAMString = AM TimePMString = PM ShortTimeFormat = hh:mm LongTimeFormat = hh:mm:ss ShortMonthNames = Jan Feb ... LongMonthNames = January, February ... ShortDayNames = Sun, Mon ... LongDayNames = Sunday, Monday ... TwoDigitCenturyWindow = 50 Версия 2 этой функции - для использования в пределах потоков. Вы заполняете запись FormatSettings перед вызовом запроса. Она получает локальную копию глобальной форматирующей переменной, которая делает вашу подпрограмму потоко безопасной. |
Пример кода: Показ всех типов форматирования данных полей даты
|
Пример кода : Показ всех типов форматирования данных полей даты var myDate : TDateTime; formattedDateTime : string; begin // Установка нашей TDateTime переменной полной датой и временем : // 09/02/2007 в 01:02:03.004 (.004 миллисекунд) myDate := EncodeDateTime(2007, 2, 9, 1, 2, 3, 4); // Только дата - числовые значения без начальных нулей (кроме года) DateTimeToString(formattedDateTime, 'd/m/y', myDate); ShowMessage(' d/m/y = '+formattedDateTime); // Только дата - числовые значения с начальными нулями DateTimeToString(formattedDateTime, 'dd/mm/yy', myDate); ShowMessage(' dd/mm/yy = '+formattedDateTime); // Использование короткого названия дня, месяца, и добавление текста свободного формата ('of') DateTimeToString(formattedDateTime, 'ddd d of mmm yyyy', myDate); ShowMessage(' ddd d of mmm yyyy = '+formattedDateTime); // Использование длинных имён дня и месяца DateTimeToString(formattedDateTime, 'dddd d of mmmm yyyy', myDate); ShowMessage('dddd d of mmmm yyyy = '+formattedDateTime); // Использование параметров настройки только ShortDateFormat DateTimeToString(formattedDateTime, 'ddddd', myDate); ShowMessage(' ddddd = '+formattedDateTime); // Использование параметров настройки только LongDateFormat DateTimeToString(formattedDateTime, 'dddddd', myDate); ShowMessage(' dddddd = '+formattedDateTime); // Использование параметров настройки ShortDateFormat + LongTimeFormat DateTimeToString(formattedDateTime, 'c', myDate); ShowMessage(' c = '+formattedDateTime); end; d/m/y = 9/2/07 dd/mm/yy = 09/02/07 ddd d of mmm yyyy = Пятн 9 Фев 2007 dddd d of mmmm yyyy = Пятница 9 Февраля 2007 ddddd = 09/02/2007 dddddd = 09 Февраля 2007 c = 09/02/2007 01:02:03 Пример кода : Показ всех типов форматирования данных полей времени var myDate : TDateTime; formattedDateTime : string; begin // Установка нашей TDateTime переменной полной датой и временем : // 09/02/2007 в 01:02:03.004 (.004 миллисекунд) myDate := EncodeDateTime(2000, 2, 9, 1, 2, 3, 4); // Только время - числовые значения без использования нулей DateTimeToString(formattedDateTime, 'h:m:s.z', myDate); ShowMessage(' h:m:s.z = '+formattedDateTime); // Только время - числовые значения с использованием нулей DateTimeToString(formattedDateTime, 'hh:mm:ss.zzz', myDate); ShowMessage('hh:mm:ss.zzz = '+formattedDateTime); // Использование параметров настройки только ShortTimeFormat DateTimeToString(formattedDateTime, 't', myDate); ShowMessage(' t = '+formattedDateTime); // Использование параметров настройки только LongTimeFormat DateTimeToString(formattedDateTime, 'tt', myDate); ShowMessage(' tt = '+formattedDateTime); // Использование параметров настройки ShortDateFormat + LongTimeFormat DateTimeToString(formattedDateTime, 'c', myDate); ShowMessage(' c = '+formattedDateTime); end; h:m:s.z = 1:2:3.4 hh:mm:ss.zzz = 01:02:03.004 t = 01:02 tt = 01:02:03 c = 09/02/2000 01:02:03 Пример кода : Показ эффекта локальных настроек параметров формата даты var myDate : TDateTime; formattedDateTime : string; begin // Установка нашей переменной TDateTime полной датой и временем myDate := StrToDateTime('09/02/49 01:02:03.004'); // Демонстрация параметров настроек региона заданных по умолчанию // Использование значений DateSeparator и TimeSeparator DateTimeToString(formattedDateTime, 'dd/mm/yy hh:mm:ss', myDate); ShowMessage('dd/mm/yy hh:mm:ss = '+formattedDateTime); // Использование ShortMonthNames DateTimeToString(formattedDateTime, 'mmm', myDate); ShowMessage(' mmm = '+formattedDateTime); // Использование LongMonthNames DateTimeToString(formattedDateTime, 'mmmm', myDate); ShowMessage(' mmmm = '+formattedDateTime); // Использование ShortDayNames DateTimeToString(formattedDateTime, 'ddd', myDate); ShowMessage(' ddd = '+formattedDateTime); // Использование LongDayNames DateTimeToString(formattedDateTime, 'dddd', myDate); ShowMessage(' dddd = '+formattedDateTime); // Использование строки ShortDateFormat DateTimeToString(formattedDateTime, 'ddddd', myDate); ShowMessage(' ddddd = '+formattedDateTime); // Использование строки LongDateFormat DateTimeToString(formattedDateTime, 'dddddd', myDate); ShowMessage(' dddddd = '+formattedDateTime); // Использование TimeAmString DateTimeToString(formattedDateTime, 'hhampm', myDate); ShowMessage(' hhampm = '+formattedDateTime); // Использование строки ShortTimeFormat DateTimeToString(formattedDateTime, 't', myDate); ShowMessage(' t = '+formattedDateTime); // Использование строки LongTimeFormat DateTimeToString(formattedDateTime, 'tt', myDate); ShowMessage(' tt = '+formattedDateTime); // Использование TwoDigitCenturyWindow DateTimeToString(formattedDateTime, 'dd/mm/yyyy', myDate); ShowMessage(' dd/mm/yyyy = '+formattedDateTime); ShowMessage(''); // Теперь изменяем умолчания DateSeparator := '-'; TimeSeparator := '_'; ShortDateFormat := 'dd/mmm/yy'; LongDateFormat := 'dddd dd of mmmm of yyyy'; TimeAMString := 'morning'; TimePMString := 'afternoon'; ShortTimeFormat := 'hh:mm:ss'; LongTimeFormat := 'hh : mm : ss . zzz'; ShortMonthNames[2] := 'FEB'; LongMonthNames[2] := 'FEBRUARY'; ShortDayNames[4] := 'WED'; LongDayNames[4] := 'WEDNESDAY'; TwoDigitYearCenturyWindow := 75; // Установка нашей переменной TDateTime в тоже самое значение, что и прежде // за исключением того, что мы должны использовать новые разделители даты и времени // Только переменная TwoDigitYearCenturyWindow здесь вступает в силу myDate := StrToDateTime('09-02-49 01_02_03.004'); // Использование значений DateSeparator и TimeSeparator DateTimeToString(formattedDateTime, 'dd/mm/yy hh:mm:ss', myDate); ShowMessage('dd/mm/yy hh:mm:ss = '+formattedDateTime); // Использование ShortMonthNames DateTimeToString(formattedDateTime, 'mmm', myDate); ShowMessage(' mmm = '+formattedDateTime); // Использование LongMonthNames DateTimeToString(formattedDateTime, 'mmmm', myDate); ShowMessage(' mmmm = '+formattedDateTime); // Использование ShortDayNames DateTimeToString(formattedDateTime, 'ddd', myDate); ShowMessage(' ddd = '+formattedDateTime); // Использование LongDayNames DateTimeToString(formattedDateTime, 'dddd', myDate); ShowMessage(' dddd = '+formattedDateTime); // Использование строки ShortDateFormat DateTimeToString(formattedDateTime, 'ddddd', myDate); ShowMessage(' ddddd = '+formattedDateTime); // Использование строки LongDateFormat DateTimeToString(formattedDateTime, 'dddddd', myDate); ShowMessage(' dddddd = '+formattedDateTime); // Использование TimeAmString DateTimeToString(formattedDateTime, 'hhampm', myDate); ShowMessage(' hhampm = '+formattedDateTime); // Использование строки ShortTimeFormat DateTimeToString(formattedDateTime, 't', myDate); ShowMessage(' t = '+formattedDateTime); // Использование строки LongTimeFormat DateTimeToString(formattedDateTime, 'tt', myDate); ShowMessage(' tt = '+formattedDateTime); // Использование TwoDigitCenturyWindow DateTimeToString(formattedDateTime, 'dd/mm/yyyy', myDate); ShowMessage(' dd/mm/yyyy = '+formattedDateTime); end;
Результат:
|
dd/mm/yy hh:mm:ss = 09/02/49 01:02:03 mmm = Feb mmmm = February ddd = Tue dddd = Tuesday ddddd = 09/02/2049 dddddd = 09 February 2049 hhampm = 01AM t = 01:02 tt = 01:02:03 dd/mm/yyyy = 09/02/2049 dd/mm/yy hh:mm:ss = 09-02-49 01_02_03 mmm = FEB mmmm = FEBRUARY ddd = WED dddd = WEDNESDAY ddddd = 09-FEB-49 dddddd = WEDNESDAY 09 of FEBRUARY of 1949 hhampm = 01morning t = 01_02_03 tt = 01 _ 02 _ 03 . 004 dd/mm/yyyy = 09-02-1949 |