簡體   English   中英

沒有時間的Javascript日期方法

[英]Javascript date method without time

Javascript 方法

var d = new Date();

獲得日期時間值,但如何在沒有時間的情況下獲得明確的日期?

有關解析日期的完整參考,請點擊此處的鏈接

您可以簡單地僅解析來自變量的日期,例如

d.toJSON().substring(0,10)

或者

d.toDateString();

我建議您使用momentjs ( http://momentjs.com/ ) 來解決與日期有關的所有 javascript 問題。

此代碼將重置您的 javascript 日期對象的小時、分鍾、秒、毫秒。

var d = new Date();
d.setHours(0);
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);

或者以一種簡化的方式:

var d = new Date();
d.setHours(0, 0, 0, 0);

或者作為一個單行函數:

function now () { const d = new Date(); d.setHours(0, 0, 0, 0); return d }

now(); // returns the current date

沒有轉換,最后你仍然有一個日期對象。

這方面的例子太多了。。

function format(date) {
    var d = date.getDate();
    var m = date.getMonth() + 1;
    var y = date.getFullYear();
    return '' + y + '-' + (m<=9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d);
}

var today = new Date();
var dateString = format(today);
alert(dateString);

我也想在處理時間時指出.. MomentJS 真的是這項工作的完美工具

MomentJS

另一個超級簡單的例子......

var today = new Date();
alert(today.toLocaleDateString());

第二個例子是我最喜歡的。

根據您喜歡的格式,我認為這些是獲取沒有時間的日期的最簡單方法。

new Date().toJSON().split("T")[0];
// Output: "2019-10-04"

或者

new Date().toLocaleDateString().split(",")[0]
// Output in the US: "10/4/2019"

我總是使用這種方法,它只會返回當前日期:

var date = new Date().toISOString().slice(0,10);

使用Date你有一個 date object ,它有幾種方法。 完整的方法列表可以在Javascript 日期對象文檔中找到

在你的情況下:

 var d = new Date(), datestring = ''; datestring = d.getFullYear() + '-' + (d.getMonth()+1) + '-' + d.getDate() alert(datestring);

new Intl.DateTimeFormat('en-GB').format(new Date('2018-08-17T21:00:00.000Z'))

結果將是: 18/08/2018

您可以在此處查看說明

暫無
暫無

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

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