IIS7 ASP 日期格式问题
Windows 2008 的IIS7.0 ASP 输出及取数据库 的日期格式是 YYYY/MM/DD 怎么设置成 YYYY-MM-DD 格式呢?
Asp输出日期的代码为:Response.Write Date。
原来是Windows 2003(日期格式YYYY-MM-DD) 升级为 Windows 2008后就变了(日期格式YYYY/MM/DD)。另装了 SQL 2005 和 vs2008.
网上搜索了下贴子:http://bbs.pcbeta.com/thread-389635-1-1.html
问题和我一样,有人回是:
以前遇到过类似的问题,原因是你在安装IIS7的时候,控制面板里的所在区域没有更改为中国,时区也没有更改为GMT+8导致的,虽然你在安装后修改了,不过系统的默认值已经写进去了,好像没有办法解决,我以前是使用完全卸载在重新安装的方法解决的,如果你找不到别的办法,可以试试完全卸载在重新安装。
问题是,我升级Windows 2008 之前 时区域就已经是中国,日期格式也是YYYY-MM-DD。升级后也一样没动过。
[解决办法]
Response.Write year() & "-" & right("0" & month(),2) & "-" & right("0" & day(),2)
输出为 2008-06-08
[解决办法]
'================================================
'函数名:FormatDate
'作 用:格式化日期
'参 数:DateAndTime ----原日期和时间
' para ----日期格式
'返回值:格式化后的日期
'================================================
Public Function FormatDate(DateAndTime, para)
On Error Resume Next
Dim y, m, d, h, mi, s, strDateTime
FormatDate = DateAndTime
If Not IsNumeric(para) Then Exit Function
If Not IsDate(DateAndTime) Then
Response.write("错误日期格式")
Exit Function
End If
y = CStr(Year(DateAndTime))
m = CStr(Month(DateAndTime))
If Len(m) = 1 Then m = "0" & m
d = CStr(Day(DateAndTime))
If Len(d) = 1 Then d = "0" & d
h = CStr(Hour(DateAndTime))
If Len(h) = 1 Then h = "0" & h
mi = CStr(Minute(DateAndTime))
If Len(mi) = 1 Then mi = "0" & mi
s = CStr(Second(DateAndTime))
If Len(s) = 1 Then s = "0" & s
Select Case para
Case "1"
strDateTime = y & "-" & m & "-" & d & " " & h & ":" & mi & ":" & s
Case "2"
strDateTime = y & "-" & m & "-" & d
Case "3"
strDateTime = y & "/" & m & "/" & d
Case "4"
strDateTime = y & "年" & m & "月" & d & "日"
Case "5"
strDateTime = m & "-" & d & " " & h & ":" & mi
Case "6"
strDateTime = m & "/" & d
Case "7"
strDateTime = m & "月" & d & "日"
Case "8"
strDateTime = y & "年" & m & "月"
Case "9"
strDateTime = y & "-" & m
Case "10"
strDateTime = y & "/" & m
Case "11"
strDateTime = right(y,2) & "-" &m & "-" & d & " " & h & ":" & mi
Case "12"
strDateTime = right(y,2) & "-" &m & "-" & d
Case "13"
strDateTime = m & "-" & d
Case Else
strDateTime = DateAndTime
End Select
FormatDate = strDateTime
End Function