Формат текущей даты и времени в VBScript

Мне было интересно, может ли кто-нибудь помочь мне.

Я очень новичок в ASP. Я хочу отформатировать текущую дату и время следующим образом:

yyyy-mm-dd hh:mm:ss

Но все, что я могу сделать, это следующее

Response.Write Date

Может кто-нибудь помочь мне.

Ответ 1

Параметры форматирования даты ограничены в Classic ASP по умолчанию, есть функция FormatDateTime() которая может форматировать вашу дату различными способами в зависимости от региональных настроек сервера.

Для большего контроля над форматированием даты, хотя есть встроенные функции даты и времени

  • Year(date) - возвращает целое число, представляющее год. Passing Date() вернет текущий год.

  • Month(date) - возвращает целое число от 1 до 12 включительно, представляющее месяц года. Passing Date() вернет текущий месяц года.

  • MonthName(month[, abbv]) - возвращает строку, указывающую указанный месяц. Переходя в Month(Date()) в качестве месяца вернет строку текущего месяца. Как предложено @Martha

  • Day(date) - возвращает целое число от 1 до 31 включительно, представляющее день месяца. Passing Date() вернет текущий день месяца.

  • 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)

Примечание: Вы можете построить строку даты за один вызов, но решили разбить ее на три переменные, чтобы было легче читать.