日期:2014-05-16  浏览次数:21387 次

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
------解决方案--------------------
探讨
但从数据库取出来的记录也是这样呀。

不可能所有日期型数据都用程序处理过吧。

------解决方案--------------------
要么你在数据库里就处理要么每次用到日期自己同1楼处理
------解决方案--------------------
在 
我的电脑
控制面板
里调整区域设置,里面有日期格式,调整日期默认格式即可。
------解决方案--------------------
YYYY/MM/DD是默认格式,在你的执行电脑上日期选项里面有YYYY-MM-DD格式,另外数据库也可以调吧,方法不少
------解决方案--------------------


没办法,这是你操作系统中的默认日期格式设定。在VBS中没有专门的日期格式函数(FormatDateTime 函数功能并不理想),一般都是自己专门做一个处理以达到目标比如

response.write year(date) & "-" & month(date) &"-" & day(date())
------解决方案--------------------
VBScript code
 
'================================================
'函数名: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 & "月"