Ответ 1
Параметры форматирования даты ограничены в Classic ASP по умолчанию, есть функция FormatDateTime()
которая может форматировать вашу дату различными способами в зависимости от региональных настроек сервера.
Для большего контроля над форматированием даты, хотя есть встроенные функции даты и времени
-
Year(date)
- возвращает целое число, представляющее год. PassingDate()
вернет текущий год. -
Month(date)
- возвращает целое число от 1 до 12 включительно, представляющее месяц года. PassingDate()
вернет текущий месяц года. -
MonthName(month[, abbv])
- возвращает строку, указывающую указанный месяц. Переходя вMonth(Date())
в качестве месяца вернет строку текущего месяца. Как предложено @Martha -
Day(date)
- возвращает целое число от 1 до 31 включительно, представляющее день месяца. PassingDate()
вернет текущий день месяца. -
Hour(time)
- возвращает целое число от 0 до 23 включительно, представляющее час дня.Time()
прохожденияTime()
вернет текущий час. -
Minute(time)
- возвращает целое число от 0 до 59 включительно, представляющее минуту часа.Time()
прохожденияTime()
вернет текущую минуту. -
Second(time)
- возвращает целое число от 0 до 59 включительно, представляющее секунду минуты.Time()
прохожденияTime()
вернет текущую секунду.
ВАЖНО: При форматировании значений даты/времени всегда сохраняйте значение даты/времени сначала после выполнения любых необходимых вычислений перед попыткой форматирования, иначе вы получите неожиданные результаты.
Функции Month()
, Day()
, Hour()
, Minute()
и Second()
возвращают целые числа. К счастью, есть простой обходной путь, который позволяет быстро дополнить эти значения. Right("00" & value, 2)
то, что он делает, это добавляет 00
к передней части значения, затем справа берут первые два символа. Это гарантирует, что все однозначные значения возвращаются с префиксом 0
.
Dim dd, mm, yy, hh, nn, ss
Dim datevalue, timevalue, dtsnow, dtsvalue
'Store DateTimeStamp once.
dtsnow = Now()
'Individual date components
dd = Right("00" & Day(dtsnow), 2)
mm = Right("00" & Month(dtsnow), 2)
yy = Year(dtsnow)
hh = Right("00" & Hour(dtsnow), 2)
nn = Right("00" & Minute(dtsnow), 2)
ss = Right("00" & Second(dtsnow), 2)
'Build the date string in the format yyyy-mm-dd
datevalue = yy & "-" & mm & "-" & dd
'Build the time string in the format hh:mm:ss
timevalue = hh & ":" & nn & ":" & ss
'Concatenate both together to build the timestamp yyyy-mm-dd hh:mm:ss
dtsvalue = datevalue & " " & timevalue
Call Response.Write(dtsvalue)
Примечание: Вы можете построить строку даты за один вызов, но решили разбить ее на три переменные, чтобы было легче читать.
- Как я могу отформатировать дату
- Пример синтаксического анализа строки даты (Ответы предоставляют подходы к получению формата строки даты и его синтаксическому анализу в допустимую переменную
Date
).