比较日期字符串与当前Date()

时间:2018-11-18 01:43:13

标签: javascript date string-comparison tampermonkey

所以,我已经有了一个变量,可以将所有单元格保存在某个列中。 每个单元格都包含一个时间戳,因为它是innerText,格式为yyyy-mm-dd hh:mm,格式为24h。

如何比较具有Date()的字符串以查看字符串是否在下一小时内?

我当时想让一个for循环通过一个带有if函数的数组来遍历该数组:“如果显示的时间在当前时间的一小时内,则将单元格的背景色更改为红色。

for(var i=0; i<column.length;i++){
  if(column[i].innerText - Date() < 1hr){   //this line needs work
    column[i].style.backgroundColor='#ff000';
  } else(){
    }
};

我确定可能需要使用某种解析方法或某种方法,但我对此不太熟悉。

注意:我正在使用Tampermonkey将代码注入到我无法控制的页面中,因此时间戳记来了。

3 个答案:

答案 0 :(得分:0)

更改此:

library(tidyverse)
library(psych)
ds_of_students <- data.frame(id=(1:4), school=c("public","private"))
ds_of_results <- structure(list(i1 = c(1, 2, 4, 4),
                                i2 = c(3, 3, 2, 2),
                                i3 = c(2, 3, 3, 5),
                                i4 = c(4, 1, 3, 2)), 
                           class = c("tbl_df", "tbl", 
                                     "data.frame"), row.names = c(NA, -4L))

ds_of_students %>%
  group_by(school) %>%
  summarise(n=n(), 
            id = paste(id, collapse = ",")) %>% 
  mutate(item2=psych::alpha(ds_of_results[c(id)])$total[1])


alpha(ds_of_results[c(1,3)])$total[1]

对此:

if(column[i].innerText - Date() < 1hr){

它应该可以工作。

答案 1 :(得分:0)

Date构造函数为您完成解析工作。因此,您将只需要这样的东西:

hour = 3600000 //1 hour in ms
nextHour = new Date(column[i].innerText) - new Date()
if(nextHour <= hour && nextHour >= 0) {
    //Your code here
}

说明:

由于Javascript日期是基于1970年1月1日午夜以来的毫秒数,因此-(减号)运算符允许您将其视为数字,并将结果数字返回为数字。

答案 2 :(得分:-1)

您可以采用以下方法。在这里,我使用了getUTCHours(),因为new Date(new Date(columns[i].innerText) - new Date())会给出UTC时间戳。您可以从here

中找到有关UTC时间戳的说明。

var columns;

function changecolors() {
  columns = document.getElementsByClassName('column');
  for (var i = 0; i < columns.length; i++) {
    if (new Date(new Date(columns[i].innerText) - new Date()).getUTCHours() < 1) {
      columns[i].style.backgroundColor = '#ff0000';
    }
  };
}
<div class="column">2018-11-18 09:30</div>
<div class="column">2018-11-18 11:00</div>

<button onclick="changecolors()">Change Colors</button>