我想知道某个时间戳是否属于今天,但我迷失在Javascripts日期管理中。
有没有办法检查时间戳是否属于当天?
答案 0 :(得分:3)
这对我来说似乎很讨厌,但你可以做类似的事情:
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。
我确定有人会采用更简洁的方式来做这件事,或者出现失败的情况,但据我所知,这应该可以解决这个问题。
答案 1 :(得分:2)
简单检查两天的第一时间戳并进行比较。
var ts = 1564398205000
var today = new Date().setHours(0, 0, 0, 0);
var thatDay = new Date(ts).setHours(0, 0, 0, 0);
if(today === thatDay){
console.log("*** Same day ***");
}
答案 2 :(得分: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;
答案 3 :(得分: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");
}
答案 4 :(得分:0)
Sub newloc()
Range("A2").EntireRow.Insert
Range("D2").Value = "Odense C"
Range("F2").Formula = "=F3 + 1"
Range("H2").Formula = "=H3 + 1"
Arr = Split(Range("G3").Value, ".")
If Arr(3) = 254 Then
Arr(3) = 1
If Arr(2) < 254 Then
Arr(2) = Arr(2) + 1
Else
Arr(2) = 1
If Arr(1) < 254 Then
Arr(1) = Arr(1) + 1
Else
Arr(1) = 1
If Arr(0) < 254 Then
Arr(0) = Arr(0) + 1
Else
MsgBox "Error! No more IP's available"
End If
End If
End If
Else
Arr(3) = Arr(3) + 1
End If
Range("G2").Value = Join(Arr, ".")
End Sub
答案 5 :(得分:-3)
这取决于您的时间戳的格式。 但这是实现这一目标的最基本方法:
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。