2016-11-16 230 views
0

我想知道今天是否属于某个时间戳,但我在Javascripts日期管理中迷路了。Javascript:如何检查时间戳是否属于当前日期?

有什么方法可以检查时间戳是否属于当前日期?

+0

转换时间戳记日期,并检查其是否与当前的日期一致。保持格式没有时间,只有日期(例如'Y-m-d') – Justinas

+0

实例化两个日期对象:1)来自给定的时间戳; 2)从现在开始。然后检索每个日期的日期分量(Y,m,d)并对它们进行比较 – hindmost

回答

-1

这要看是什么格式的时间戳 但这里是实现这一目标的最根本途径。

var today = new Date(year, month, day); 
var timestamp = //your timestamp; 

if (timestamp == timestamp){ //make sure the date formats are the same 
//your code 
} 

我希望这是你要找的人,有更多的方法,使用JavaScript日期参考,请不要犹豫look it up

1

你真的可以依靠ISO日期字符串用SUBSTR函数的两个字符串

var T=1479288780873; /*assume your timestamp value*/ 

var theDay=new Date(T); 
var today=new Date; 

theDay.toISOString().substr(0,10) == today.toISOString().substr(0,10) ? console.log("same day"):null; 
2

似乎讨厌十岁上下给我,但是你可以做类似的东西比较:

function isInToday(inputDate) 
{ 
    var today = new Date(); 
    if(today.setHours(0,0,0,0) == inputDate.setHours(0,0,0,0){ return true; } 
    else { return false; } 
} 

这假设你已经将你的输入日期设置为JS日期。这将检查两个日期是否在同一天发生,如果是,则返回true,否则返回false。

我敢肯定有人会以一种更简洁的方式来做到这一点,或者这种情况下失败,但据我所知,这应该为你做的伎俩。

0

你可以做这样的事情:

var day = 24 * 60 * 60 * 1000; //nb millis in a day 
var todayTimestamp = new Date(year, month, day).getTime(); // Be careful month is 0 start 
//OR 
var todayTimestamp = new Date().setHours(0,0,0,0).getTime(); 
var diff = myTimestamp - todayTimestamp; 
if (diff >= 0 && diff <= day) { 
    console.log("timestamp is today"); 
else { 
    console.log("timestamp is not today"); 
} 
0
var timestamp = '2016-11-16 03:14:07.999999'; 

var datestamp = timestamp.substring(0, 10); 

Date.prototype.yyyymmdd = function() { 
    var mm = this.getMonth() + 1; 
    var dd = this.getDate(); 

    return [this.getFullYear(), mm, dd].join('-'); 
}; 

var date = new Date(); 
date.yyyymmdd(); 

console.log(String(datestamp) === String(date.yyyymmdd())); 
相关问题