Date转LocalDate时,调用toInstant()报UnsupportedOperationException异常。

https://www.jianshu.com/p/11d8ed48f7a9

MediaType.TEXT_PLAIN 使用的不是 utf-8

Charset.defaultCharset()

你相信系统,想利用系统字符集, 但系统字符集并不统一。我们在给自己找事。 我们花精力理解去理解它更没有意义。

无用的学习成本。

比如 logback-spring.xml 里可以使用的变量,学习这些变量, 对编程本身没有意义。当换一个组件, 或大版本升级, 这些知识就都废了。

时间及时区

所有时间的字符串表示, 都定义为: 北京时间, 如: 2018-10-17 09:00:00 , 就是北京的上班时间。

如: 客户端提交的时间, 数据库保存的时间。不管是 Date , LocalDateTime , 都表示北京时间。

之所以混乱是因为多套标准,并且标准混乱。:

  1. 系统定义的标准: 以UTC时间为准, 世界任何一个地方, 同一时间获取的时间, 毫秒数相同, 但因为定义的时区不同,所以显示的时间值不同。
    但 时间类型 不是Java 的标准数据类型, 在拿到 Data 或 LocalDateTime 时, 这里面是没有时区的,只有毫秒数。
    所以这时候 , Format 字符串的时候,就会出现问题。
  2. 本地化系统标准:需要本地时间表示,如上,当系统在传递 2018-10-17 09:00:00 时, 表示的是当地北京时间9点。
  3. Date.getYear 我以为会1970年会返回 1970, 其实返回 0。
  4. Date.getMonth 我以为1月会返回1 , 其实返回0。

解决的方式:
不以毫秒数为准。 以 年月日时分秒为准。即 以字符串表示为准。 表示当地时间。

  1. 字符串转时间时,按北京时间转换。
  2. 时间类型转换时,以 年月日时分秒 数据转换。

Java中,尽量相信自己,使用自己写的方法,不要使用底层提供的方法。都是坑。的更多相关文章

  1. Java中的String到底占用多大的内存空间?你所了解的可能都是错误的!!

    写在前面 最近小伙伴加群时,我总是问一个问题:Java中的String类占用多大的内存空间?很多小伙伴的回答着实让我哭笑不得,有说不占空间的,有说1个字节的,有说2个字节的,有说3个字节的,有说不知道 ...

  2. java中两个对象间的属性值复制,比较,转为map方法实现

    package com.franson.study.util; import java.lang.reflect.InvocationTargetException; import java.lang ...

  3. Java中一个线程只有六个状态。至于阻塞、可运行、挂起状态都是人们为了便于理解,自己加上去的。

    java中,线程的状态使用一个枚举类型来描述的.这个枚举一共有6个值: NEW(新建).RUNNABLE(运行).BLOCKED(锁池).TIMED_WAITING(定时等待).WAITING(等待) ...

  4. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  5. java中常用的swing组件 (2013-10-27-163 写的日志迁移

    五种布局:   流式布局(FlowLayout)边界布局(borderLayout)网格布局(GridLayout)  盒子布局(BoxLaYout)  空布局(null)  常用的几种 卡片布局(C ...

  6. java中的final关键字(2013-10-11-163 写的日志迁移

     final关键字:修饰符,表示最后的.最终的    修饰类: 表示该类不能派生子类(不能被继承)   1.当不希望父类的的某个方法被子类覆盖(override)时,可以用final关键字来修饰.   ...

  7. 关于java中,json字符串转集合和对象,或者集合转json字符串的解决方法

    1 List集合转成json字符串 //Java集合 List<String> list = new ArrayList<String>(); list.add("a ...

  8. JAVA中 错误代码是 the public type must be defined in its own file 解决方法 android开发 java编程

    一般是由于定义的JAVA类同文件名不一致: 解决方法: 1.把文件名修改同XYZ一样的名字: 2.把类名修改成同文件名:

  9. java中List对象列表去重或取出以及排序

    面试碰到几次list的去重和排序.下面介绍一种做法: 1. list去重 1.1 实体类Student List<Student>容量10k以上,要求去重复.这里Student的重复标准是 ...

随机推荐

  1. Jenkins结合.net平台综合之监听git仓库并自动摘取最新代码编译

    前面章节我们讲解了Jenkins结合.net平台工具以及一些第三方工具实现项目自动还原,自动编译,自动测试和自动发布.然而实现自动化还有一个关键的步骤就是监听源码仓库变化然后从仓库拉取最新代码,然后再 ...

  2. 学习编写Dockerfile

    前言 我们学习docker的话,其主要目的还是要用来改变我们部署应用程序的传统习惯,达到解放生产力,解放人力的目的.这篇则自己来熟悉一下dockerfile常用命令.并且尝试改变下生产环境手动部署应用 ...

  3. python之错误调试

    无论谁写的程序,必定会存在bug,解决bug需要我们去调试程序.于是乎,在Python中,就会好几种调试手段,如print.assert.logging.pdb.pdb.set_trace() 一.使 ...

  4. 第12章 添加对外部认证的支持 - Identity Server 4 中文文档(v1.0.0)

    注意 对于任何先决条件(例如模板),首先要查看概述. 接下来,我们将添加对外部认证的支持.这非常简单,因为您真正需要的是ASP.NET Core兼容的身份验证处理程序. ASP.NET Core本身支 ...

  5. IO帮助类

    using System; using System.IO; using System.Web; using System.Drawing; using System.Drawing.Imaging; ...

  6. vs2017安装pygame,vs2017安装python第三方包

    vs2017有独立的python环境:所以想在vs2017开发python并使用第三方包,需要在vs2017中操作,完成第三方包的安装. 一,查看vs2017有哪些版本的python,当前使用的是哪个 ...

  7. [Go] golang缓冲通道实现资源池

    go的pool资源池:1.当有多个并发请求的时候,比如需要查询数据库2.先创建一个2个容量的数据库连接资源池3.当一个请求过来的时候,去资源池里请求连接资源,肯定是空的就创建一个连接,执行查询,结束后 ...

  8. IIS中虚拟目录不继承主站点web.config设置的办法(转载)

    ASP.NET提供了强大的Web.config来配置网站,一般来说一个网站只有一个根目录下的Web.config文件,有时候我们希望子目录有着不同的权限或者参数设置,则可以在相应子目录增加一个Web. ...

  9. linux部署二:网卡配置和Yum源的替换

    一,初次登陆: 1.登陆(用root登陆)(1).账户名root(2).密码 ....2.工作界面切换A.Ctrl + alt + F1 : 图形化界面B.Ctrl + alt + F2----F6 ...

  10. SQL Server中几种遍历方式比较

    SQL遍历解析 在SQL的存储过程,函数中,经常需要使用遍历(遍历table),其中游标.临时表等遍历方法很常用.面对小数据量,这几种遍历方法均可行,但是面临大数据量时,就需要择优选择,不同的遍历方法 ...