如何格式化ISO8601日期格式

 我来答
野人无事不言L
2016-03-19 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:140.8亿
展开全部
般情况直接用replace("2011-9-9","-","/")行, 涉及数据转换用两: CStr(变量) 其类型转字符串型 CDate(变量) 其类型转期型 :原变量date1期型, date1=date obj=replace(cstr(date1),"-","/") obj要格式. 另外借用自定义函数转换. Function FormatDate(sDateTime, sReallyDo) Dim sJorkin sJorkin = GetLocale() If Not IsDate(sDateTime) Then sDateTime = Now() sDateTime = CDate(sDateTime) Select Case UCase(sReallyDo & "") Case "0", "1", "2", "3", "4" FormatDate = FormatDateTime(sDateTime, sReallyDo) Case "00" FormatDate = FormatDate(sDateTime, "YYYY-MM-DD hh:mm:ss") Case "01" FormatDate = FormatDate(sDateTime, "YYYYMM月DD") Case "02" FormatDate = FormatDate(sDateTime, "YYYY-MM-DD") Case "03" FormatDate = FormatDate(sDateTime, "hh:mm:ss") Case "04" FormatDate = FormatDate(sDateTime, "hh:mm") Case "ISO8601", "GOOGLE", "SITEMAP" '//ISO8601格式, 般用于GoogleSiteMap, "+08:00" 区. FormatDate = FormatDate(sDateTime, "YYYY-MM-DDThh:mm:ss.000+08:00") Case "RFC822", "RSS", "FEED" '//RFC822格式, 般用于RSS, "+0800" 区. SetLocale("en-gb") FormatDate = FormatDate(sDateTime, "ew, DD eMM YYYY hh:mm:ss +0800") SetLocale(sJorkin) Case "RND", "RAND", "RANDOMIZE" '//随机字符串 Randomize sJorkin = Rnd() FormatDate = FormatDate(sDateTime, "YYYYMMDDhhmmss") & _ Fix((9 * 10^6 -1) * sJorkin) + 10^6 Case Else FormatDate = sReallyDo FormatDate = Replace(FormatDate, "YYYY", Year(sDateTime)) FormatDate = Replace(FormatDate, "DD", Right("0" & Day(sDateTime), 2)) FormatDate = Replace(FormatDate, "hh", Right("0" & Hour(sDateTime), 2)) FormatDate = Replace(FormatDate, "mm", Right("0" & Minute(sDateTime), 2)) FormatDate = Replace(FormatDate, "ss", Right("0" & Second(sDateTime), 2)) FormatDate = Replace(FormatDate, "YY", Right(Year(sDateTime), 2)) FormatDate = Replace(FormatDate, "D", Day(sDateTime)) FormatDate = Replace(FormatDate, "h", Hour(sDateTime)) FormatDate = Replace(FormatDate, "m", Minute(sDateTime)) FormatDate = Replace(FormatDate, "s", Second(sDateTime)) If InStr(1, FormatDate, "EW", 1) > 0 Then SetLocale("en-gb") FormatDate = Replace(FormatDate, "EW", UCase(WeekdayName(Weekday(sDateTime), False))) FormatDate = Replace(FormatDate, "eW", WeekdayName(Weekday(sDateTime), False)) FormatDate = Replace(FormatDate, "Ew", UCase(WeekdayName(Weekday(sDateTime), True))) FormatDate = Replace(FormatDate, "ew", WeekdayName(Weekday(sDateTime), True)) SetLocale(sJorkin) Else FormatDate = Replace(FormatDate, "W", WeekdayName(Weekday(sDateTime), False)) FormatDate = Replace(FormatDate, "w", WeekdayName(Weekday(sDateTime), True)) End If If InStr(1, FormatDate, "EMM", 1) > 0 Then SetLocale("en-gb") FormatDate = Replace(FormatDate, "EMM", MonthName(Month(sDateTime), False)) FormatDate = Replace(FormatDate, "eMM", MonthName(Month(sDateTime), True)) SetLocale(sJorkin) Else FormatDate = Replace(FormatDate, "MM", Right("0" & Month(sDateTime), 2)) FormatDate = Replace(FormatDate, "M", Month(sDateTime)) End If End Select End Function %> '期格式化ISO8601格式 Response.Write(FormatDate("2008-03-06 08:03:06", "SITEMAP")) '期格式化RFC822格式 Response.Write(FormatDate("2008-03-06 08:03:06", "RSS")) '期格式化(英星期, 英月//) Response.Write(FormatDate(Now(), "eW, EMM/DD/YYYY")) '月秒随机数字符串 Response.Write(FormatDate(Now(), "RND")) 般情况直接用replace("2011-9-9","-","/")行, 涉及数据转换用两: CStr(变量) 其类型转字符串型 CDate(变量) 其类型转期型 :原变量date1期型, date1=date obj=replace(cstr(date1),"-","/") obj要格式. 另外借用自定义函数转换. Function FormatDate(sDateTime, sReallyDo) Dim sJorkin sJorkin = GetLocale() If Not IsDate(sDateTime) Then sDateTime = Now() sDateTime = CDate(sDateTime) Select Case UCase(sReallyDo & "") Case "0", "1", "2", "3", "4" FormatDate = FormatDateTime(sDateTime, sReallyDo) Case "00" FormatDate = FormatDate(sDateTime, "YYYY-MM-DD hh:mm:ss") Case "01" FormatDate = FormatDate(sDateTime, "YYYYMM月DD") Case "02" FormatDate = FormatDate(sDateTime, "YYYY-MM-DD") Case "03" FormatDate = FormatDate(sDateTime, "hh:mm:ss") Case "04" FormatDate = FormatDate(sDateTime, "hh:mm") Case "ISO8601", "GOOGLE", "SITEMAP" '//ISO8601格式, 般用于GoogleSiteMap, "+08:00" 区. FormatDate = FormatDate(sDateTime, "YYYY-MM-DDThh:mm:ss.000+08:00") Case "RFC822", "RSS", "FEED" '//RFC822格式, 般用于RSS, "+0800" 区. SetLocale("en-gb") FormatDate = FormatDate(sDateTime, "ew, DD eMM YYYY hh:mm:ss +0800") SetLocale(sJorkin) Case "RND", "RAND", "RANDOMIZE" '//随机字符串 Randomize sJorkin = Rnd() FormatDate = FormatDate(sDateTime, "YYYYMMDDhhmmss") & _ Fix((9 * 10^6 -1) * sJorkin) + 10^6 Case Else FormatDate = sReallyDo FormatDate = Replace(FormatDate, "YYYY", Year(sDateTime)) FormatDate = Replace(FormatDate, "DD", Right("0" & Day(sDateTime), 2)) FormatDate = Replace(FormatDate, "hh", Right("0" & Hour(sDateTime), 2)) FormatDate = Replace(FormatDate, "mm", Right("0" & Minute(sDateTime), 2)) FormatDate = Replace(FormatDate, "ss", Right("0" & Second(sDateTime), 2)) FormatDate = Replace(FormatDate, "YY", Right(Year(sDateTime), 2)) FormatDate = Replace(FormatDate, "D", Day(sDateTime)) FormatDate = Replace(FormatDate, "h", Hour(sDateTime)) FormatDate = Replace(FormatDate, "m", Minute(sDateTime)) FormatDate = Replace(FormatDate, "s", Second(sDateTime)) If InStr(1, FormatDate, "EW", 1) > 0 Then SetLocale("en-gb") FormatDate = Replace(FormatDate, "EW", UCase(WeekdayName(Weekday(sDateTime), False))) FormatDate = Replace(FormatDate, "eW", WeekdayName(Weekday(sDateTime), False)) FormatDate = Replace(FormatDate, "Ew", UCase(WeekdayName(Weekday(sDateTime), True))) FormatDate = Replace(FormatDate, "ew", WeekdayName(Weekday(sDateTime), True)) SetLocale(sJorkin) Else FormatDate = Replace(FormatDate, "W", WeekdayName(Weekday(sDateTime), False)) FormatDate = Replace(FormatDate, "w", WeekdayName(Weekday(sDateTime), True)) End If If InStr(1, FormatDate, "EMM", 1) > 0 Then SetLocale("en-gb") FormatDate = Replace(FormatDate, "EMM", MonthName(Month(sDateTime), False)) FormatDate = Replace(FormatDate, "eMM", MonthName(Month(sDateTime), True)) SetLocale(sJorkin) Else FormatDate = Replace(FormatDate, "MM", Right("0" & Month(sDateTime), 2)) FormatDate = Replace(FormatDate, "M", Month(sDateTime)) End If End Select End Function %> '期格式化ISO8601格式 Response.Write(FormatDate("2008-03-06 08:03:06", "SITEMAP")) '期格式化RFC822格式 Response.Write(FormatDate("2008-03-06 08:03:06", "RSS")) '期格式化(英星期, 英月//) Response.Write(FormatDate(Now(), "eW, EMM/DD/YYYY")) '月秒随机数字符串 Response.Write(FormatDate(Now(), "RND"))
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式