我该如何从Utilities.formatDate(new Date(),“ EST”,“ HH”);中转换返回值;到整数?

时间:2019-11-14 02:51:35

标签: javascript google-apps-script casting

我没有运气就尝试了上百万种方式。我知道我可以使用date对象和getHours方法,但是我需要将它用于EST时区。

function test () { 
   var hour = Utilities.formatDate(new Date(), "EST", "HH");
   Logger.log(hour);
   var hourtest = +hour;
   Logger.log(hourtest);
   hourtest = parseInt(hour);
   Logger.log(hourtest);
   hourtest = Number(hour);
}

日志返回:

[19-11-13 20:48:04:213 CST] 21
[19-11-13 20:48:04:214 CST] 21.0
[19-11-13 20:48:04:214 CST] 21.0

我需要能够将小时返回作为整数,并对其进行加减运算,然后与其他整数值进行比较 我已经尝试过类似if(hours == 21){var test = true}的事情,而在登录测试时就不是真的。

请帮助。

1 个答案:

答案 0 :(得分:1)

只要您使用抽象比较==,这绝对不是类型问题。考虑以下示例:

function f21() {
  var list21 = ["21", 21, 21.0]
  for (var i=0; i < list21.length; i++) {
    Logger.log( list21[i] == 21 )
  }
}
/** Outputs to:
[19-11-14 10:12:42:816 EET] true
[19-11-14 10:12:42:816 EET] true
[19-11-14 10:12:42:817 EET] true
*/

parseInt非常适合转换为整数,但是Logger通常将整数显示为浮点数。