起因: 在 Apollo 中配置了某活动的开始时间是 2020-05-15, 代码中的逻辑判断如下:

const nowTime = new Date().getTime();
const startTime = new Date('2020-05-15').getTime();
if (nowTime > startTime) {
// 活动开始
}

表现: 测试在 2020-05-15 00:02:00 左右时测试页面发现活动并未开始, 直到第二天早上上班时(8点半左右)活动才开始.

原因: 一般来说 new Date('2020-05-15').getTime() 方法返回的是零点的时间戳,

实际上如果系统的本地时间是东八时区的话, 会返回 2020-05-15 08:00:00 的时间戳.

在阿里云服务器中通过 date -R 目录查看本地时间:

# +0800 代表东八时区
Fri, 15 May 2020 09:13:52 +0800

MDN 关于 Date.prototype.getTime 的描述为:

getTime() always uses UTC for time representation. For example, a client browser in one timezone,

getTime() will be the same as a client browser in any other timezone.

解决办法: 在配置中补全时分秒的信息, 如: 2020-05-15 00:00:00

一个关于时区的bug的更多相关文章

  1. ASP.NET MVC的Ajax.ActionLink 的HttpMethod="Get" 一个重复请求的BUG

    这段时间使用BootStrap+Asp.net Mvc5开发项目,Ajax.ActionLink遇到一个重复提交的BUG,代码如下: @model IList<WFModel.WF_Temp&g ...

  2. 最近提交一个mysql5.7的bug,提醒自己以后注意写SQL要规范

    最近帮朋友提交一个mysql5.7的bug , oracle mysql 的大神还回复我 , 以后注意书写sql规范 , 潜台词是不是不要给他们增加工作量 https://bugs.mysql.com ...

  3. 移动端一个奇怪的触摸bug

    这两天遇到一个很奇怪的bug,在移动端,一个页面里所有的input框都不能点击,我查了一下,里面的没有设置readonly属性,只要页面滚动一下就可以用了,而且,只要我在真机测试的时候,f12开发者模 ...

  4. STL 库中的陷阱----一个难以察觉的 bug

    请找出下面程序的 bug? int maxProfit2(vector<int> &prices) { int local[3] = {0}; int global[3] = {0 ...

  5. 一个因为粗心的Bug

    /** * 数据绑定,分页显示 */ private void updataMenu(final EditText search) { if(listwz==null) { return; } pag ...

  6. 表与表的关系把RD搞乱了,记一个Procedure中的bug

    就是6张表的关联查询,写了一个存储过程,使用4层for来处理 bug:最后一个for中,两张表的关联条件少了一个,结果数据多查了. 排查办法:使用dbms_output.printline('');每 ...

  7. 记一个CRenderTarget中的BUG及解决办法

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.问题描述 在MFC中使用Direct2D有现成的方法,在Visual Studio 2010 SP1及以上环境中MFC ...

  8. 一个毕生难忘的BUG

    记得以前接手过一个Java项目,服务器程序,直接让Jar在linux上跑的那种, 这个项目由两个web服务组成,也就是两条Java进程,主进程 xxx.jar,辅助进程 xxx_helper.jar. ...

  9. 一个比较难忘的BUG

    本学期开设了软件测试课程,在课上有讨论到bug,想到bug,真是很令人头疼的东西,相信每个程序都多多少少会有几个头疼的bug. 初学java时写过一个字符串判断的循环,之前学的C++字符类型用“==” ...

随机推荐

  1. webform中Repeater中调用后台方法

    前台 <%#RoleNameSpan(Eval("RoleName").ToString())%> 后台 /// <summary> /// 角色名称过长处 ...

  2. 安装篇六:安装PHP(7.2.29版本)

    准备环境,下载依赖软件 # No1:在前面安装好的基础上,关闭iptables.selinux # No2:安装依赖包 yum install zlib-devel bzip2-devel -y &l ...

  3. matplotlib学习日记(九)-图形样式

    (一)刻度线定位器和刻度格式器的使用方法 import matplotlib.pyplot as plt import numpy as np from matplotlib.ticker impor ...

  4. 实用干货!Java开发企业级权限管理系统视频教程

    全程手把手带你运用Java技术栈,打造一套基于最流行的RBAC拓展模型的,分布式的,有界面的,高灵活性,高拓展性的企业级权限管理系统.学完本课程你将可以轻松应对绝大多数企业开发中与权限管理及后台系统相 ...

  5. pandas取前K大的数,sort_values()和nlargest()速度比较

    排序量比较大时: 数据量比较小时: 所以结论就是: 数据量大时选用nlargest,数据量小时选用sort_values() 具体数据量怎么算大:10000条时两个方法的时间差不多,所以可以按1000 ...

  6. 母鸡下蛋实例:多线程通信生产者和消费者wait/notify和condition/await/signal条件队列

    简介 多线程通信一直是高频面试考点,有些面试官可能要求现场手写生产者/消费者代码来考察多线程的功底,今天我们以实际生活中母鸡下蛋案例用代码剖析下实现过程.母鸡在鸡窝下蛋了,叫练从鸡窝里把鸡蛋拿出来这个 ...

  7. MongoDb学习(五)---gridfs --http文件下载

    现在网上的文章都是用的低版本的jar包,而最新的jar包,下载的方法进行了改变.在网上也没找到好的方法.就用原生的方法进行下载, 我也不知道对不对.反正可以下载了.就先这样吧.后期准备还是用低版本的开 ...

  8. Java学习日报7.15

    package oddor;import java.util.Scanner;public class Oddor{ public static void main(String args[]) { ...

  9. JVM 常用命令行工具

    本文部分摘自<深入理解 Java 虚拟机第三版> 基础故障处理工具 Java 开发人员肯定都知道 JDK 的 bin 目录下有许多小工具,这些小工具除了用于编译和运行 Java 程序外,打 ...

  10. 关于IP的相关计算

    不论是考研还是考各种计算机类的证,大家或多或少都会遇到网络部分的一种题型,大体的归类就是以下几种: 已知一个IP是192.XX.XX.XX,子网掩码是255.255.255.0,那么它的网络地址是多少 ...