首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JavaScript 比較當前時間與字符串格式時間:需轉換為 Date 對象後比較時間戳

     編輯:程式設計綜合問答

問題

當前時間 var mydate = new Date() (格式 Mon Jul 27 2015 11:51:43 GMT+0800) 需與字符串 "2015-07-25 16:47" 比較大小。

解決方法

將字符串解析為 Date 對象,比較 getTime() (毫秒時間戳):

var str = "2015-07-25 16:47";
str = str.replace(/-/g, '/'); // 兼容 Safari/舊瀏覽器
var target = new Date(str);
var now = new Date();

if (target.getTime() > now.getTime()) {
    console.log("目標時間在未來");
} else {
    console.log("目標時間已過");
}

關鍵點

  • new Date("YYYY-MM-DD HH:mm") 在部分瀏覽器無效,**必須將連字符替換為斜杠** 或使用 Date.parse (ES5+ 支持 ISO 8601 YYYY-MM-DDTHH:mm:ss)。
  • 比較時間戳 (Number) 而非字符串/對象引用。
  • 若需忽略時分秒比較日期,可 setHours(0,0,0,0) 歸零後比較。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved