我正在尝试在html / javascript / jquery中创建两个动态日期。我希望日期格式化为yyyy / mm / dd。第一个日期将返回上个月的最后一天,第二个日期将返回当前月份的最后一天。有谁知道如何在上面列出的技术中做到这一点?
我99.9999%肯定我可以通过使用C#调用后端页面来实现这一点,但我想看看是否有更有效的方法在DOM中做到这一点(DOM是正确的术语吗?)
从上一个关于SO的问题,这里是我现在使用的代码......
var d = new Date();
document.write(new Date(d.getFullYear(), d.getMonth() + 1, 0, 23, 59, 59));
答案 0 :(得分:4)
似乎你已经得到了大部分答案:
var d = new Date();
var lastcurrent = new Date(d.getFullYear(), d.getMonth() + 1, 0, 23, 59, 59);
var lastprevious = new Date(d.getFullYear(), d.getMonth(), 0, 23, 59, 59);
然后按照您希望的方式格式化它们:
document.write(lastcurrent.getFullYear() + '/'
+ (lastcurrent.getMonth() + 1) + '/' + lastcurrent.getDate());
document.write(lastprevious.getFullYear() + '/'
+ (lastprevious.getMonth() + 1) + '/' + lastprevious.getDate());
jsFiddle here。
修改强>
两位数的月份(最后一天应该总是两位数):
document.write(lastcurrent.getFullYear()
+ '/' + String('00'+(lastcurrent.getMonth() + 1) ).slice(-2)
+ '/' + lastcurrent.getDate() );
document.write(lastprevious.getFullYear()
+ '/' + String('00'+ (lastprevious.getMonth() + 1) ).slice(-2)
+ '/' + lastprevious.getDate());
答案 1 :(得分:0)
这应该做到
var today = new Date();
var lastofpreviews = new Date( today.getUTCFullYear(), today.getUTCMonth() , 0 );
var lastofthis = new Date( today.getUTCFullYear(), today.getUTCMonth() + 1, 0 );
答案 2 :(得分:0)
var d = new Date();
document.write(new Date(d.getFullYear(), d.getMonth(), 0, 23, 59, 59).toLocaleFormat('%Y/%m/%d'));
document.write(new Date(d.getFullYear(), d.getMonth() + 1, 0, 23, 59, 59).toLocaleFormat('%Y/%m/%d'));
这将以请求的格式(YYYY / mm / dd)格式化日期