我有一个驻留在服务器上的日历程序,该程序以以下格式将日期存储到数据库中:
YYYYMMDD
在asp中管理这些日期有“简单”的方法吗?例如,我们假设我们将2013年4月20日作为日期:
20130420
我们想在此日期添加20天,因此我们想要制作:
20130510
任何想法?在asp中有一个integerTOdate转换吗?或者我可以用来在数字20130420
上添加“天”的东西?
答案 0 :(得分:3)
像这样(未经测试):
Dim strDate, theDate, theDatePlusTwentyDays
Dim Year, Month, Day
' The date is stored as a string...
strDate = "20130420"
' Extract the components of the date
Year = Mid(strDate, 1, 4)
Month = Mid(strDate, 5, 2)
Day = Mid(strDate, 7, 2)
' Convert the components of the date into a datetime object
theDate = DateSerial(Year, Month, Day)
' Add 20 days using DateAdd
theDatePlusTwentyDays = DateAdd("d", 20, theDate)
答案 1 :(得分:2)
是的,您可以使用DateAdd
功能
Response.Write(DateAdd("d",1,Now()))
您需要先将日期格式化为
<%
dim _dateOnServer
dim _formattedDate
dim _day
dim _month
dim _year
_dateOnServer = 20130420
_year = Left(_dateOnServer,4)
_month = Mid(_dateOnServer,5,2)
_day = Right(_dateOnServer,2)
_formattedDate = _month &"-"& _day &"-"& _year
dim _newDate
_newDate = DateAdd("d",20, _formattedDate )
_day = Left(_newDate,2)
_month = Mid(_newDate,4,2)
_year = Right(_newDate,4)
dim _newDateFormat
_newDateFormat = _year & _month & _day
%>
答案 2 :(得分:1)
能够完全控制订单和格式的解决方案......
strDay = Day(Date)
strMonth = Month(Date)
strYear = Year(Date)
strHours = Hour(Now)
strMins = Minute(Now)
strSecs = Second(Now())
if len(strMonth) = 1 then
strMonth = "0" & strMonth
end if
if len(strDay) = 1 then
strDay = "0" & strDay
end if
if len(strHours) = 1 then
strHours = "0" & strHours
end if
if len(strMins) = 1 then
strMins = "0" & strMins
end if
if len(strSecs) = 1 then
strSecs = "0" & strSecs
end if
strDateAdded = strYear & "-" & strMonth & "-" & strDay
strDateAddedTime = strDateAdded & " " & strHours & ":" & strMins
使用此方法您可以完全控制订单,甚至在不同时区运行您的Web应用程序时,您仍然可以维护DD / MM格式......或者您想要的任何订单,例如MM-DD-YY(通过重新排序)并削减一年)。我个人更喜欢YYYY-MM-DD,因为通过ASC和DESC排序更容易使用,即:更容易阅读,因为所有行都具有相同数量的字符,如:
2013-04-01 03:15
2013-04-09 10:15
2013-04-22 07:15
2013-04-23 10:15
2013-04-23 10:60
2013-10-25 12:01
2013-10-25 12:59
而不是:
2013-4-1 3:15
2013-4-9 10:15
2013-4-22 7:15
2013-4-23 10:15
2013-4-23 10:60
2013-10-25 12:1
2013-1-25 12:59