ASP日期转换

把2009-01-01这种格式转成2009-1-1ACCESSS中默认的存储时间和我表单提交的时间格式有冲突帮忙一下... 把2009-01-01这种格式转成2009-1-1

ACCESSS中默认的存储时间和我表单提交的时间格式有冲突

帮忙一下
展开
 我来答
myhsj
2010-04-04
知道答主
回答量:22
采纳率:0%
帮助的人:17.4万
展开全部
给你个时间转换类的非常灵活,可以任意转换时间,
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
百度网友2cf8e0b
2010-03-31 · TA获得超过577个赞
知道小有建树答主
回答量:531
采纳率:0%
帮助的人:488万
展开全部
直接设置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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
开发者之路
2010-03-31 · TA获得超过910个赞
知道大有可为答主
回答量:2031
采纳率:0%
帮助的人:930万
展开全部
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
就可以了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
镇岳邸嘉德
2013-08-28 · TA获得超过3879个赞
知道大有可为答主
回答量:3169
采纳率:26%
帮助的人:190万
展开全部
<%
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
'这样保存到数据库的格式是你要的那样子
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fkdcm
2010-03-31 · TA获得超过409个赞
知道小有建树答主
回答量:960
采纳率:0%
帮助的人:286万
展开全部
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")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式