写在前面

项目功能测试, 日期格式转换出现个诡异的问题, 转换后的时间总是和系统当前时间相差8小时, 问题是另一个项目和这个代码完全一样, DateUtils.java, 包括formatDate()方法, 可是结果让我郁闷半天.

测试代码

public static void main(String[] args) {

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String s = DateUtils.formatDate(date, Constants.DD_MM_YYYY_HH_MM_SS_DOT);
String s1 = DateUtils.formatDate(date, Constants.SIMPLE_YYYY_MM_DD_HH_MM_SS_SSS);
String s2 = DateUtils.formatDate(date, "yyyy-MM-dd HH:mm:ss"); System.out.println(s);
System.out.println(s1);
System.out.println(s2);
System.out.println(simpleDateFormat.format(date));
}

输出结果

看下面的输出时间, 直接蒙了...

17.10.2019 11:03:49
20191017110349987
2019-10-17 11:03:49
2019-10-17 19:03:49

原因分析

原因

导错 DateUtils工具类的包, 本应想导入的是自定义的DateUtils.java, 路径为import org.jeecgframework.core.util.DateUtils;

实际导入的是import org.apache.http.client.utils.DateUtils;

查看代码

org.apache.http.client.utils.DateUtils;取出的时间是GMT, 因此取出的时间总是比系统时间(北京时间)小8小时. GMT+8才是北京时间.

重新导包后正常结果:

sms_txt中的时间是转为String类型后的日期时间.

小结

开发工具虽然好用, 但import时还是要细心.

DateUtils.formate()函数的“bug”的更多相关文章

  1. JavaScript使用纯函数避免bug

    纯函数 一.纯函数 定义:纯函数是指不依赖并且不修改其作用域之外的函数.通过以下几个示例来认识纯函数: var a = 10; //纯函数 function foo(num){ return num ...

  2. laravel5.1关于lists函数的bug

    查询语句为: class DateAttrModel extends BaseModel{ -- static function getDays(--){ $days = self::lists('d ...

  3. mvc关于pots请求 哪个函数 出现bug研究

    这样能请求home下的updateA函数 这样能请求home下的update函数,不能请求updateA函数

  4. C++11版本不能使用一个单行命名空间方式特化一个函数的bug

    warning: specialization of ‘template<class _Iterator> struct std::iterator_traits’ in differen ...

  5. 处理sevenzipsharp 检查密码函数的Bug

    using (SevenZipExtractor extr = new SevenZipExtractor(tbPackagePath.Text, "www.pc6.com")) ...

  6. matlab中xlsread函数的bug

    在使用[num txt data]=xlsread('filename')时.num存所有数值型数据,非数值型用NaN表示,txt存非数值型数据,数值型数据的位置为空. 如果filename中的第一行 ...

  7. CMSIS DSP Lib:RFFT函数的bug

    调用arm_rfft_fast_init_f32之后,还有两个成员需要初始化: arm_rfft_fast_instance_f32::pTwiddleRFFT = twiddleCoef_rfft_ ...

  8. Cordova webapp实战开发:(7)如何通过简单的方法做到,不重新发布APP来修复bug、增加功能、或者躲开苹果的一些严格审核?

    到<Cordova webapp实战开发:(6)如何写一个iOS下获取APP版本号的插件?>为止,我们已经大体学会了如何使用Cordova了,那些都是使用Cordova的开发者必备的技能. ...

  9. day3-Python集合、函数、文件操作,python包的概念

    本节大纲: 1 python程序由包(package).模块(module)和函数组成.包是由一系列模块组成的集合.模块是处理某一类问题的函数和类的集合. 2 包就是一个完成特定任务的工具箱. 3 包 ...

随机推荐

  1. SpringBoot2.x搭建SpringBootAdmin2.x

    1 说明 全部配置基于1.8.0_111 当前SpringBoot使用2.0.5 SpringBootAdmin基于Eureka进行Client发现,Eureka搭建参见SpringBoot2.x搭建 ...

  2. sed - 文本三剑客之编辑功能

    sed - stream editor for filtering and transforming text Sed是一个流编辑器.流编辑器用于对输入流(文件或管道输入)执行基本的文本转换.虽然在某 ...

  3. jmap错误:unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap

    原文:https://www.jianshu.com/p/0e5d8db8ed5e 错误场景 今天使用jmap -heap命令查看堆的详细信息报错. [root@instance-2gak1pfv d ...

  4. Echo团队Beta冲刺随笔集合

    班级:软件工程1916|W 作业:项目Beta冲刺(团队) 团队名称:Echo 作业目标:完成项目Beta冲刺 凡事预则立 Day 0: 凡事预则立 冲刺随笔 Day 1: Beta冲刺第一天 Day ...

  5. 织梦DedeCms网站内部SEO详细分析

    一.确定网站的目标关键词 最为重要的一方面,一般网站首页的目标关键词建议在1-3个.对于目标关键词的选取有几个建议 1.定位:网站的内容和业务相关 2.分析:对用户体验及竞争对手的网站进行分析 3.筛 ...

  6. redux有价值的文档

    使用 Redux 管理状态,第 1 部分 https://www.ibm.com/developerworks/cn/web/wa-manage-state-with-redux-p1-david-g ...

  7. 电商平台+keepalived高可用

    192.168.189.131 电商平台 192.168.189.129 MySQL主192.168.189.130 MySQL备192.168.189.181 VIP 配置MySQL为互为主从并结合 ...

  8. LeetCode 1062. Longest Repeating Substring

    原题链接在这里:https://leetcode.com/problems/longest-repeating-substring/ 题目: Given a string S, find out th ...

  9. day39线程

    复习: C/S架构: 客户端     服务器模式 B/S架构: 浏览器     服务器模式 B/S架构的客户端对PC机的性能要求比较低.统一了应用的接口 B/S架构隶属于C/S架构 TCP UDP的区 ...

  10. 洛谷 P1993 小K的农场 题解

    每日一题 day55 打卡 Analysis 这是我们一次考试的T1,但我忘了差分约束系统怎么写了,所以就直接输出Yes混了60分 首先转化题目: 1:表示农场 a 比农场 b 至少多种植了 c 个单 ...