WINDOWS 2003 SERVER系统时间24小时制与12小时格式不一致问题,而导致论坛或BLOG不能正常显示更新日期的问题及解决方法问题的方法。
在WIN2003上出现这种情况的原因是在程序中使用VBScript语言中的时间函数“Now()”时取得系统的时间时发生的不正常现象,当你使用这个函数时,虽然我们在[控制面板]-[区域和语言选项]-[自定义]中设置了如下正常内容:H:mm:ss,但是当你使用VBScript中的NOW()函数,仍然显示如下形式:2006-06-25 上午 11:52:28 。这个问题出现的原因不确定,但使用GHOST版系统的,出现的问题较多,如:动易程序的统计不能正常全部显示问题,这可能和GHOST的系统盘安装的2003有关,这里先不讨论,安装后的系统时间问题的解决方法。
解决方法一:
在WINDOWS 2003[控制面板]-[区域和语言选项]-[自定义]把时间设置为24小时格式。格式如图
设置后返回上一页,在上面的 [高级] 标签中将下面的 [默认用户帐户设置] 中 [将所有设置应用于当前用户帐户和默认用户配置文件] 打上勾。
然后重启服务器。
解决方法二:
把 iTime 值 改成1 ,重启IIS 也可以了,这是我在网上找到的解决方法之一,大家可以根据情况使用,以能够解决问题为最终目标。
键值位置:[HKEY_USERS.DEFAULTControl PanelInternational]
修改内容:"iTime"="1"
===========================================
或可把以下内容存为.reg 文件,双击导入即可
===========================================
Windows Registry Editor Version 5.00
[HKEY_USERS.DEFAULTControl PanelInternational]
"iTime"="1"
-----------转载网友关于ASP程序的解决方案,以下为原文---------------------------------------
建议各位ASP用户输出/输入时间时用函数处理一下也是不错的方案,假如系统存在这个问题也不用再担心了, 附函数如下:
' ============================================
' 格式化时间(显示)
' 参数:n_Flag
' 1:"yyyy-mm-dd hh:mm:ss"
' 2:"yyyy-mm-dd"
' 3:"hh:mm:ss"
' 4:"yyyy年mm月dd日"
' 5:"yyyymmdd"
' 6:"mm-dd"
' ============================================
Function Format_Time(s_Time, n_Flag)
Dim y, m, d, h, mi, s
Format_Time = ""
If IsDate(s_Time) = False Then Exit Function
y = cstr(year(s_Time))
m = cstr(month(s_Time))
If len(m) = 1 Then m = "0" & m
d = cstr(day(s_Time))
If len(d) = 1 Then d = "0" & d
h = cstr(hour(s_Time))
If len(h) = 1 Then h = "0" & h
mi = cstr(minute(s_Time))
If len(mi) = 1 Then mi = "0" & mi
s = cstr(second(s_Time))
If len(s) = 1 Then s = "0" & s
Select Case n_Flag
Case 1
' yyyy-mm-dd hh:mm:ss
Format_Time = y & "-" & m & "-" & d & " " & h & ":" & mi & ":" & s
Case 2
' yyyy-mm-dd
Format_Time = y & "-" & m & "-" & d
Case 3
' hh:mm:ss
Format_Time = h & ":" & mi & ":" & s
Case 4
' yyyy年mm月dd日
Format_Time = y & "年" & m & "月" & d & "日"
Case 5
' yyyymmdd
Format_Time = y & m & d
case 6
'mm-dd
Format_Time = m & "-" & d
End Select
End Function