ASP日期转换
把2009-01-01这种格式转成2009-1-1ACCESSS中默认的存储时间和我表单提交的时间格式有冲突帮忙一下...
把2009-01-01这种格式转成2009-1-1
ACCESSS中默认的存储时间和我表单提交的时间格式有冲突
帮忙一下 展开
ACCESSS中默认的存储时间和我表单提交的时间格式有冲突
帮忙一下 展开
9个回答
展开全部
给你个时间转换类的非常灵活,可以任意转换时间,
FormatToDate(2009-01-01,yyyy-M-d)
'h = 小时;m = 分钟;s = 秒;tt = 上午或下午
'hh,mm,ss = 零起始;h,m,s = 非零起始
'd,dd = 日;ddd,dddd,ww,WW = 星期;M = 月;y = 年
'时间格式: yyyy-MM-dd hh:mm:ss
'WW,dd MMMM yyyy hh:mm:ss +0800
'ww, MMM dd, yyyy at hh:mm:sstt +0200
Public Function FormatToDate(DateAndTime,showType)
If Not IsDate(DateAndTime) Or showType="" Then
FormatToDate = DateAndTime
Exit Function
End If
If CLng(MainSetting(36))<>0 Then DateAndTime=DateAdd("h",CLng(MainSetting(36)),CDate(DateAndTime))
Dim w,y,m,d,h,mi,s,yy,mm,dd,hh,mmi,ss,strDateTime
Dim fullWeekdays,shortWeekdays,fullWeekday,shortWeekday,fullMonth,shortMonth
fullWeekdays=Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六")
shortWeekdays=Array("日","一","二","三","四","五","六")
fullWeekday=Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
shortWeekday=Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
fullMonth=Array("January","February","March","April","May","June","July","August","September","October","November","December")
shortMonth=Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
w=Weekday(DateAndTime)
yy=Year(DateAndTime):y=CStr(Right(yy,2))
m=Month(DateAndTime):mm=CStr(String(2-Len(m), "0")& m)
d=Day(DateAndTime):dd=CStr(CStr(String(2-Len(d), "0")& d))
h=Hour(DateAndTime):hh=CStr(String(2-Len(h), "0")& h)
mi=CStr(Minute(DateAndTime)):mmi=CStr(String(2-Len(mi), "0")& mi)
s=CStr(Second(DateAndTime)):ss=CStr(String(2-Len(s), "0")& s)
strDateTime=showType
If InStr(showType,"ddd")>0 Then
strDateTime=Replace(Replace(strDateTime, "dddd", fullWeekdays(w-1)), "ddd", shortWeekdays(w-1))
End If
strDateTime=Replace(Replace(strDateTime, "yyyy", yy), "yy", y)
strDateTime=Replace(Replace(strDateTime, "dd", dd), "d", d)
strDateTime=Replace(Replace(strDateTime, "hh", hh), "h", h)
strDateTime=Replace(Replace(strDateTime, "mm", mmi), "m", mi)
strDateTime=Replace(Replace(strDateTime, "ss", ss), "s", s)
If InStr(1,showType,"MMM",1)>0 Then
strDateTime=Replace(strDateTime, "MMMM", fullMonth(m-1))
strDateTime=Replace(strDateTime, "MMM", shortMonth(m-1))
Else
strDateTime=Replace(Replace(strDateTime, "MM", mm), "M", m)
End If
If h>12 Then
strDateTime=Replace(Replace(strDateTime, "TT", "下午"), "tt", "PM")
Else
strDateTime=Replace(Replace(strDateTime, "TT", "上午"), "tt", "AM")
End If
If InStr(1,showType,"ww",1)>0 Then
strDateTime=Replace(strDateTime, "WW", fullWeekday(w-1))
strDateTime=Replace(strDateTime, "ww", shortWeekday(w-1))
End If
fullWeekdays=Null:shortWeekdays=Null
fullWeekday=Null:shortWeekday=Null
fullMonth=Null:shortMonth=Null
FormatToDate=strDateTime
End Function
FormatToDate(2009-01-01,yyyy-M-d)
'h = 小时;m = 分钟;s = 秒;tt = 上午或下午
'hh,mm,ss = 零起始;h,m,s = 非零起始
'd,dd = 日;ddd,dddd,ww,WW = 星期;M = 月;y = 年
'时间格式: yyyy-MM-dd hh:mm:ss
'WW,dd MMMM yyyy hh:mm:ss +0800
'ww, MMM dd, yyyy at hh:mm:sstt +0200
Public Function FormatToDate(DateAndTime,showType)
If Not IsDate(DateAndTime) Or showType="" Then
FormatToDate = DateAndTime
Exit Function
End If
If CLng(MainSetting(36))<>0 Then DateAndTime=DateAdd("h",CLng(MainSetting(36)),CDate(DateAndTime))
Dim w,y,m,d,h,mi,s,yy,mm,dd,hh,mmi,ss,strDateTime
Dim fullWeekdays,shortWeekdays,fullWeekday,shortWeekday,fullMonth,shortMonth
fullWeekdays=Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六")
shortWeekdays=Array("日","一","二","三","四","五","六")
fullWeekday=Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
shortWeekday=Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
fullMonth=Array("January","February","March","April","May","June","July","August","September","October","November","December")
shortMonth=Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
w=Weekday(DateAndTime)
yy=Year(DateAndTime):y=CStr(Right(yy,2))
m=Month(DateAndTime):mm=CStr(String(2-Len(m), "0")& m)
d=Day(DateAndTime):dd=CStr(CStr(String(2-Len(d), "0")& d))
h=Hour(DateAndTime):hh=CStr(String(2-Len(h), "0")& h)
mi=CStr(Minute(DateAndTime)):mmi=CStr(String(2-Len(mi), "0")& mi)
s=CStr(Second(DateAndTime)):ss=CStr(String(2-Len(s), "0")& s)
strDateTime=showType
If InStr(showType,"ddd")>0 Then
strDateTime=Replace(Replace(strDateTime, "dddd", fullWeekdays(w-1)), "ddd", shortWeekdays(w-1))
End If
strDateTime=Replace(Replace(strDateTime, "yyyy", yy), "yy", y)
strDateTime=Replace(Replace(strDateTime, "dd", dd), "d", d)
strDateTime=Replace(Replace(strDateTime, "hh", hh), "h", h)
strDateTime=Replace(Replace(strDateTime, "mm", mmi), "m", mi)
strDateTime=Replace(Replace(strDateTime, "ss", ss), "s", s)
If InStr(1,showType,"MMM",1)>0 Then
strDateTime=Replace(strDateTime, "MMMM", fullMonth(m-1))
strDateTime=Replace(strDateTime, "MMM", shortMonth(m-1))
Else
strDateTime=Replace(Replace(strDateTime, "MM", mm), "M", m)
End If
If h>12 Then
strDateTime=Replace(Replace(strDateTime, "TT", "下午"), "tt", "PM")
Else
strDateTime=Replace(Replace(strDateTime, "TT", "上午"), "tt", "AM")
End If
If InStr(1,showType,"ww",1)>0 Then
strDateTime=Replace(strDateTime, "WW", fullWeekday(w-1))
strDateTime=Replace(strDateTime, "ww", shortWeekday(w-1))
End If
fullWeekdays=Null:shortWeekdays=Null
fullWeekday=Null:shortWeekday=Null
fullMonth=Null:shortMonth=Null
FormatToDate=strDateTime
End Function
展开全部
直接设置access里面日期的格式就搞定了
百度搜“access 中日期 长日期”第一个结果就是,微软的帮助。不明白再问我
常规日期 (默认格式)用于将日期值显示为数字,而将时间值显示为小时、分钟和秒钟,并在前面加上“上午”或“下午”。对于这两种类型的值,Access 均使用在 Windows 区域设置中指定的日期和时间分隔符。如果值中没有时间部分,Access 将只显示日期。如果值中没有日期部分,Access 将只显示时间。 2006-08-29 上午 10:10:42
长日期 用于仅按照 Windows 区域设置中的“长日期”格式显示日期。 2006 年 8 月 29 日
中日期 用于按照 yy/mm/dd 形式显示日期,但使用 Windows 区域设置中指定的日期分隔符。 06/08/29
06-08-29
短日期 用于仅按照 Windows 区域设置中的“短日期”格式显示日期。 2005/8/29
2006-8-29
长时间 用于显示小时、分钟和秒钟,并在前面加上“上午”或“下午”。Access 使用在 Windows 区域设置中的“时间”设置中指定的分隔符。 上午 10:10:42
中时间 用于显示小时和分钟,并在前面加上“上午”或“下午”。Access 使用在 Windows 区域设置中的“时间”设置中指定的分隔符。 上午 10:10
短时间 用于仅显示小时和分钟。Access 使用在 Windows 区域设置中的“时间”设置中指定的分隔符。 10:10
百度搜“access 中日期 长日期”第一个结果就是,微软的帮助。不明白再问我
常规日期 (默认格式)用于将日期值显示为数字,而将时间值显示为小时、分钟和秒钟,并在前面加上“上午”或“下午”。对于这两种类型的值,Access 均使用在 Windows 区域设置中指定的日期和时间分隔符。如果值中没有时间部分,Access 将只显示日期。如果值中没有日期部分,Access 将只显示时间。 2006-08-29 上午 10:10:42
长日期 用于仅按照 Windows 区域设置中的“长日期”格式显示日期。 2006 年 8 月 29 日
中日期 用于按照 yy/mm/dd 形式显示日期,但使用 Windows 区域设置中指定的日期分隔符。 06/08/29
06-08-29
短日期 用于仅按照 Windows 区域设置中的“短日期”格式显示日期。 2005/8/29
2006-8-29
长时间 用于显示小时、分钟和秒钟,并在前面加上“上午”或“下午”。Access 使用在 Windows 区域设置中的“时间”设置中指定的分隔符。 上午 10:10:42
中时间 用于显示小时和分钟,并在前面加上“上午”或“下午”。Access 使用在 Windows 区域设置中的“时间”设置中指定的分隔符。 上午 10:10
短时间 用于仅显示小时和分钟。Access 使用在 Windows 区域设置中的“时间”设置中指定的分隔符。 10:10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ACCESSS默认的格式和asp默认的格式应该是一样的,是:2009-1-1
但由于客户端的原因也有可能不一样,但应该在存储和读取时应该没有冲突.建议您看看是不是其它问题,如果非要这么做,也可以
function myDate(str)
arr=split(str,"-")
if arr(1)<=9 then
arr(1)=right(arr(1),1)
end if
if arr(2)<=9 then
arr(2)=right(arr(2),1)
end if
myDate=arr(0)&"-"&arr(1)&"-"&arr(2)
end function
就可以了.
但由于客户端的原因也有可能不一样,但应该在存储和读取时应该没有冲突.建议您看看是不是其它问题,如果非要这么做,也可以
function myDate(str)
arr=split(str,"-")
if arr(1)<=9 then
arr(1)=right(arr(1),1)
end if
if arr(2)<=9 then
arr(2)=right(arr(2),1)
end if
myDate=arr(0)&"-"&arr(1)&"-"&arr(2)
end function
就可以了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%
myNow=now()
myYear=year(myNow)
myMonth=month(myNow)
if
myMonth<10
then
myMonth="0"&myMonth
end
if
myDay=day(myNow)
if
myDay<10
then
myDay="0"&myDay
end
if
myhour=hour(myNow)
if
myhour<10
then
myhour="0"&myhour
end
if
myMinute=minute(myNow)
if
myMinute<10
then
myMinute="0"&myMinute
end
if
'response.write
myYear&myMonth&myDay&myhour&myMinute
'对月、日、时、分小于10时做了加“0”处理,符合你的要求。
ky=myYear&myMonth&myDay&myhour&myMinute
'调用时用:
mi_time=ky
'这样保存到数据库的格式是你要的那样子
%>
myNow=now()
myYear=year(myNow)
myMonth=month(myNow)
if
myMonth<10
then
myMonth="0"&myMonth
end
if
myDay=day(myNow)
if
myDay<10
then
myDay="0"&myDay
end
if
myhour=hour(myNow)
if
myhour<10
then
myhour="0"&myhour
end
if
myMinute=minute(myNow)
if
myMinute<10
then
myMinute="0"&myMinute
end
if
'response.write
myYear&myMonth&myDay&myhour&myMinute
'对月、日、时、分小于10时做了加“0”处理,符合你的要求。
ky=myYear&myMonth&myDay&myhour&myMinute
'调用时用:
mi_time=ky
'这样保存到数据库的格式是你要的那样子
%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Function Change(Str)
str=split(str,"-")
if str(1)<10 then
str(1)=right(str(1),1)
end if
if str(2)<10 then
str(2)=right(str(2),1)
end if
str_r=str(0)&str(1)&str(2)
response.write str_r
End Function
--------------------------------
原文中直接调用Change("")就可以了
引号中加参数
例如Change("2009-01-01")
str=split(str,"-")
if str(1)<10 then
str(1)=right(str(1),1)
end if
if str(2)<10 then
str(2)=right(str(2),1)
end if
str_r=str(0)&str(1)&str(2)
response.write str_r
End Function
--------------------------------
原文中直接调用Change("")就可以了
引号中加参数
例如Change("2009-01-01")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询