簡體   English   中英

setHours()將我的Date對象轉換為字符串時間戳

[英]setHours() convert my Date object in string timestamp

我嘗試將日期設置為午夜,以簡化日期操作,為此,我編寫了這部分代碼:

var now = new Date();
today = now.setHours(0,0,0,0);
console.log(now, today);

我很驚訝地看到now包含一個Date對象, today包含一個時間戳。 當我想使用getMonth()或其他日期的函數時,這會帶來錯誤。 用時間戳重新創建Date對象是很有意義的。

正常嗎 我怎樣才能解決這個問題?

(隨時更新我的​​帖子以糾正我的英語不好:)

正常嗎

我怎樣才能解決這個問題?

您正在將now.setHours(0,0,0,0)的返回值分配給today

也許您正在尋找的是這樣的:

var now = new Date();

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

這樣, setHours就會作用在您希望設置小時數的值上。 這是使用setHours的主要方式。

其他詳情

  • 規范似乎沒有提及返回值。 其他網站,例如w3schools也可以。
  • Chromium setHours源顯示正在返回一個值,盡管其他執行類似功能的函數也不返回該值。 我假設在SET_LOCAL_DATE_VALUE找到的SET_LOCAL_DATE_VALUE函數正在將值分配給第一個參數。

您可以使用datejsmomentjs輕松操作日期

date.js:

   Date.today().set({ hour : 0 });

moment.js

   moment().set({ "hour": 0, "minute" : 0, "second": 0});

我也有類似的情況,但樞紐答案無法解決我的問題...

我所做的是:

var today = new Date();
today = new Date(today.setHours(0,0,0,0));
console.log('Date: '+today);

暫無
暫無

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

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