楼上是对的,可以参考这个方法:
/*
* 日期关键字格式化函数
* 支持:
* @Today:今天
* @BeforeYesterday:前天
* @Yesterday:昨天
* @Week:前一周(近7天)
* @Month:前一月(近30天)
* @Year:前一年(去年今日)
* @WeekBegin:本周一
* @MonthBegin:本月1号
* @YearBegin:本年开始(本年1月1号)
*/
Function FormatDate(dataValue)
Rem 今天
iRet = StrComp(dataValue,"@Today",False)
If iRet = True
dTime = Time.Now()
sRet = Time.Format(dTime,"yyyy-mm-dd")
sRet = Replace(dataValue,"@Today",sRet,False)
Return sRet
End If
Rem 前天
iRet = StrComp(dataValue,"@BeforeYesterday",False)
If iRet = True
dTime = Time.Now()
dTime = Time.DateAdd("d",-2,dTime)
sRet = Time.Format(dTime,"yyyy-mm-dd")
sRet = Replace(dataValue,"@BeforeYesterday",sRet,False)
Return sRet
End If
Rem 昨天
iRet = StrComp(dataValue,"@Yesterday",False)
If iRet = True
dTime = Time.Now()
dTime = Time.DateAdd("d",-1,dTime)
sRet = Time.Format(dTime,"yyyy-mm-dd")
sRet = Replace(dataValue,"@Yesterday",sRet,False)
Return sRet
End If
Rem 前一周(近7天)
iRet = StrComp(dataValue,"@Week",False)
If iRet = True
dTime = Time.Now()
dTime = Time.DateAdd("d",-7,dTime)
sRet = Time.Format(dTime,"yyyy-mm-dd")
sRet = Replace(dataValue,"@Week",sRet,False)
Return sRet
End If
Rem 前一月(近30天)
iRet = StrComp(dataValue,"@Month",False)
If iRet = True
dTime = Time.Now()
dTime = Time.DateAdd("d",-30,dTime)
sRet = Time.Format(dTime,"yyyy-mm-dd")
sRet = Replace(dataValue,"@Month",sRet,False)
Return sRet
End If
Rem 前一年(去年今日)
iRet = StrComp(dataValue,"@Year",False)
If iRet = True
dTime = Time.Now()
dTime = Time.DateAdd("yyyy",-1,dTime)
sRet = Time.Format(dTime,"yyyy-mm-dd")
sRet = Replace(dataValue,"@Year",sRet,False)
Return sRet
End If
Rem 本周一
iRet = StrComp(dataValue,"@WeekBegin",False)
If iRet = True
dTime = Time.Now()
iRet = Time.WeekDay(dTime)
//时间修正
iRet = iRet - 2
dTime = Time.DateAdd("d",-iRet,dTime)
sRet = Time.Format(dTime,"yyyy-mm-dd")
sRet = Replace(dataValue,"@WeekBegin",sRet,False)
Return sRet
End If
Rem 本月1号
iRet = StrComp(dataValue,"@MonthBegin",False)
If iRet = True
dTime = Time.Now()
iRet = Time.Day(dTime)
//时间修正
iRet = iRet - 1
dTime = Time.DateAdd("d",-iRet,dTime)
sRet = Time.Format(dTime,"yyyy-mm-dd")
sRet = Replace(dataValue,"@MonthBegin",sRet,False)
Return sRet
End If
Rem 本年开始(本年1月1号)
iRet = StrComp(dataValue,"@YearBegin",False)
If iRet = True
dTime = Time.Now()
iRet = Time.Year(dTime)
sRet = CStr(iRet)&"-01-01"
sRet = Replace(dataValue,"@YearBegin",sRet,False)
Return sRet
End If
Return dataValue
End Function