Облака / Clouds
    Go to Copy.com
    Copy.com
    The bast cloud service
    Get 20 GB free!!!
    Support WebDav.
    Show more >>

    Go to Dropbox.com
    Dropbox.com
    time-tested cloud storage
    Support WebDav.
Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Вычислить логарифм
   Категория: Математика
  Программно скрыть MainMenu
   Категория: Компоненты
  Последний день месяца
   Категория: Базы данных
  Быстрое копирование файлов
   Категория: Файловая система
  Сохраняем Bitmap в поле dbase
   Категория: Базы данных
  BDE. Динамическое создание псевдонима
   Категория: Базы данных
  Упаковать TinyDB
   Категория: Базы данных

Delphi - Справочник: DateTimeToString

ABCDEFGHIJKLMNOPQRSTUVWXYZ

  << Вернуться  

 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

  << Вернуться