2014-03-22 9 views
7

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

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

yyyy-mm-dd hh:mm:ss 

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

Response.Write Date 

Может кто-то помочь мне Пожалуйста.

+0

'дим newDate As String = DateTime.ParseExact (RS ("StayDate"). Value "DD-MM-YYYY", CultureInfo.InvariantCulture) .ToString ("дд гггг/мм /")' –

+1

@ dholakiyaankit: это не VBScript. – Martha

ответ

22

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

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

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

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

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

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

  • Hour(time) - Возвращает целое число от 0 до 23 включительно, представляющее собой час дня. Передача Time() вернет текущий час.

  • Minute(time) - Возвращает целое число от 0 до 59 включительно, представляющее минуту часа. Передача Time() вернет текущую минуту.

  • Second(time) - Возвращает целое число в диапазоне от 0 до 59, включительно, представляющее секунду минуты. Передача 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) 

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


  • Example of Parsing a Date String(ответы обеспечивают подходы к принимая формат даты строки и синтаксический анализ его действительного Date переменной).
+1

Отлично, отлично работает, спасибо – BigJobbies

+2

OP не нуждается в нем, но есть функция MonthName (mm, abbr) - mm - номер месяца, а abbr - логическое значение, указывающее, следует ли сокращать месяц или нет. – Martha

+0

@ Марта Да, не включала его, поскольку это не имело отношения к формату даты, который хотел достичь OP. – Lankymart

Смежные вопросы