簡體   English   中英

每月的最后一天(沒有時間戳)

[英]Last day of month (no timestamp)

我想在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));

看起來你已經有了大部分答案:

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 在這里

編輯
兩位數月份(最后一天應始終為兩位數):

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());

這應該做到這一點

var today = new Date();

var lastofpreviews = new Date( today.getUTCFullYear(), today.getUTCMonth()    , 0 );
var lastofthis     = new Date( today.getUTCFullYear(), today.getUTCMonth() + 1, 0 );

http://jsfiddle.net/gaby/GW9B9/上的演示

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM