Описание |
Процедура 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
|
|