使用DateAdd()在Javascript/Classic ASP中设置日期格式
Date Formatting in Javascript/Classic ASP using DateAdd()
我只想使用DateAdd函数以mm/dd/yyyy格式格式化日期。我有这样的代码,它将"LastBusinessDate"会话变量减去天数,使其看起来像是来自前几天的值,而不是静态日期。
DataArray[0] = new Array("<%=DateAdd("d",-1,Session("LastBusinessDate"))%>","Test Test","001","PRO000002",1);
问题是,如果会话("LastBusinessDate")值是个位数,例如2013年4月1日,则它将以m/d/yyyy的格式返回,而我希望它返回为2013年1月4日。我试过使用
DateFormat(DateAdd("d",-1,Session("LastBusinessDate")),"mm/dd/yyyy")
以及
DateAdd("d",-1,DateFormat(Session("LastBusinessDate"),"mm/dd/yyyy"))
还创建了一个函数,只传递要从日期中减去的天数,然后返回格式化的新日期,但这也不起作用。
function formatBizDate(byDays){
var byDays = byDays;
var dateChange = Session("LastBusinessDate");
dateChange = dateFormat(dateChange,"mm/dd/yyyy");
dateChange = DateAdd("d",byDays,dateChange);
return dateChange;
}
不知道从这里去哪里。
在自定义日期格式中,mm
表示Minutes
,MM
表示Month
此:
mm/dd/yyyy
应该是
MM/dd/yyyy
VBScript日期格式函数是FormatDateTime(而不是"DateFormat"),但它非常有限:它只返回四种系统格式中的一种,其中两种是时间格式,而不是日期格式。如果系统日期格式不是这样设置的,那么这些格式都不会添加前导零。
我不完全清楚你是想在服务器端(即使用VBScript)还是客户端(即使用JavaScript)进行格式化。后者我帮不了你,但对于前者,我建议你这样做:
Function DateFormat(d)
If IsDate(d) Then
DateFormat = Right(100+Month(d),2) &"/"& Right(100+Day(d),2) &"/"& Year(d)
Else
DateFormat = d
End If
End Function
严格来说,这实际上会返回一个字符串,而不是日期,但将其转换为日期(通过CDate
或DateValue
)会删除您精心添加的前导零。
我可以看出这是一个老问题,但我自己也有很多问题,因为DateAdd()的输出格式取决于Web服务器上的区域设置,所以我想我无论如何都会分享:我通过在所有asp页面上注入以下代码片段,在服务器会话上强制设置区域设置,最终解决了这个问题:
'将服务器区域设置为丹麦语
会话LCID=1030
来源:https://www.webwiz.co.uk/kb/asp-tutorials/date-time-settings.htm(此页面还包含国家代码列表)
- 如何使用javascript将值引导下拉列表设置为隐藏值asp.net
- 如何将JSON结果设置为'src'共'img'以在ASP.NET MVC4中显示图像
- ASP从Javascript设置控件值
- 让ASP.NET中继器设置一个动态名称
- javascript样式的背景颜色在设置时闪烁.ASP.NET
- 在设置用户后,从 JavaScript JSON 请求中获取 Web 服务 (asmx) ASP.NET Windows
- 使用 jquery 设置 Asp Label 控件的文本值
- 我无法在 asp.net 动态添加的复选框中“设置选中”
- <asp.隐藏字段>即使在javascript中设置了值,codeehind中的值也会变为空
- 如何在javascript中设置asp:checkbox的可见性
- 我们如何使用Jquery和ASP.NET MVC 4复杂模型数据设置HTML元素的值
- 如果在ASP.Net MVC视图中验证失败,请设置httppostedfilebase
- 设置一个下拉填充到它's的值和文本在AngularJS和asp.net webApi中的编辑模式
- 在ASP.NET Web API 2项目中设置Angular路由
- asp.net mvc5设置页面刷新后的字体大小
- 使用DateAdd()在Javascript/Classic ASP中设置日期格式
- 有没有办法使用 Javascript 将 ASP.Net 隐藏字段值设置为 NULL
- 如何在 asp.net 中设置文档模式怪癖
- ASP.NET 从 JQuery 设置时,服务器端的文本框值为空
- 从ASP设置Javascript命名空间上的变量.. NET Webform代码后面