在计算机中我们经常要处理日期和时间,我们先来看日期,日期它是指某一天,例如2016-12-20,2017-1-1,日期要看成离散的,我们再来看时间,时间有两种概念,一种是不带日期的时间,例如,12:30:59,另一种是带日期的时间,例如2017-1-1 20:21:59,这种带日期的时间可以唯一确认某一个时刻,我们用instant来表示一个时刻,我们再来看时区的概念,当我们说2016年11月20号早晨8点一刻的时候,我们说的实际上是本地时间,也就是北京时间,但是这个时候地球上不同地方的人,同时看一眼手表,他们的各自的本地时间是不同的,比如伦敦的事件是0点一刻,巴黎的时间是1时一刻,东京的时间是9时一刻,纽约的时间是11月19号的19点一刻,所以不同的时区在同一刻本地时间是不同的,全球一共有24个时区,我们把伦敦的时区称为标准时区,其它的时区按照东西偏移的角度来区分,北京所在的时区是东8区时区有几种表示方式,一种是以GMT,或者UTC,加上时区偏移量,例如GMT+08:00,表示东八区,GMT和UTC可以认为是基本等价的,只是UTC是使用了更精准的计时,但是我们在开发程序的时候,可以忽略这两者的误差,因为计算机的时钟他在联网的时候,是自动与时间服务器同步,还有一种时区是缩写,例如CST,表示China Standard Time,也就是中国标准时间,但是CST也可以表示美国什么时间,最后一种是以国家城市表示的,例如Asia/Shanghai,注意这里的城市不是任意的城市,而是由国际组织规定的城市,因为时区的存在,我们可以看到,东八区的11月20号,早上的八点一刻,和西五区的11月19号晚上19点一刻,时区还不是最复杂的,更复杂的是夏令时Daylight Saving Time,所谓夏令时就是夏天开始的时候,时间往后拖一个小时,夏天结束的时候时间往前推一个小时,我们国家执行过一段时间夏令时,但是在1992年就废除了,但是美国人现在还在执行夏令时,所以时间的换算就更加 复杂了,当我们在11月20号的时候,用北京的8点一刻,换算成纽约的时间,它是11月19号19点一刻,但是由于夏令时的存在,如果我们在6月20号,用北京时间早上8点一刻,例如America/New York,虽然纽约也在西5区,但是因为夏令时的存在,在不同的日期,GMT时间和纽约时间可能是不一样的
Locale的概念,Locale表示一个国家或地区的日期、时间、数字、货币等格式,例如zh_CN,表示中国的Locale,而en_US表示的是美国的Locale,中国的日期用年月日表示,而美国的日期用月日年表示计算机中用Locale在日期,时间,货币和字符串之间进行计算,我们如果要设计一个电商网站,对于购买价格来讲,中国用户看到的是12000.00,而美国用户看到的可能就是12,000,00,对于购买日期中国用户可能看到的是2016-11-30,而美国用户看到的可能就是11/30/2016,这个时候我们总结一下我们要理解日期,时间,时刻的概念,我们还要理解时区的概念,我们还要注意夏令时,同一地区用GMT/UTC和城市表示的时区可能导致时间不同理解Locale用来针对当地用户习惯格式化日期,时间,数字,货币等

日期和时间 - Java处理日期和时间相关推荐

  1. java 根据日期获取天数,java获取日期之间天数的方法

    java获取日期之间天数的方法 本文实例讲述了java获取日期之间天数的方法.分享给大家供大家参考.具体实现方法如下: private int daysBetween(Date now, Date r ...

  2. java获取下周一整周的日期_获取Java中日期范围内的所有星期五

    我最近遇到了一个任务,我必须在一个日期范围内获得所有星期五.我写了一小段代码,很惊讶看到一些奇怪的行为. 以下是我的代码: public class Friday { public static vo ...

  3. php carbon详解,详解PHP使用日期时间处理器Carbon人性化显示时间

    详解PHP使用日期时间处理器Carbon人性化显示时间 本文介绍了PHP使用日期时间处理器Carbon人性化显示时间,分享给大家,具体如下: 可以通过 Composer 很方便的来安装 Carbon ...

  4. java 自定义日期_java 8 自定义日期获取

    导述 Java 8 中引入了新的日期处理包 java.time. 日期相关:LocalDate 时间:LocalDateTime 时间戳:Instant 持续时间:Duration 时区控制:Zone ...

  5. java 获取当前系统时间 时间比较

    JAVA获得当前时间的几种方法 一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; publ ...

  6. java程序如何获取北京时间_计算当前的北京时间java(currentTimeMillis)

    计算当前的北京时间java(currentTimeMillis) 计算当前的北京时间java(currentTimeMillis) 当前北京时间 编写一个显示当前GMT时间的程序,该时间的格式为小时: ...

  7. java中如何把时间封装成类,java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象?...

    java-如何在不使用任何不推荐使用的类的情况下将日期从一种格式转换为另一种格式的日期对象? 我想将date1格式的日期转换为date2格式的日期对象. SimpleDateFormat simple ...

  8. Java格式化日期用斜杠_[java工具类01]__构建格式化输出日期和时间的工具类

    在之前的学习中,我写过一篇关于字符串格式化的,就主要设计到了时间以及日期的各种格式化显示的设置,其主要时通过String类的fomat()方法实现的. 我们可以通过使用不同的转换符来实现格式化显示不同 ...

  9. java获取两个时间的间隔天数_java获取两日期的间隔天数

    这是我程序中用到的方法,传入的日期格式,可根据本身的须要做相应的改变.java /** * 读取两个日期之间的天数 * @param begin yyyy-mm-dd * @param end yyy ...

最新文章

  1. 阿里技术专家推荐的几个公众号!
  2. 001.android初级篇之ToolBar
  3. Ajax的异步,是鸡肋还是鸡排?
  4. QuartZ.net 常用配置说明
  5. 手机MODEM 开发(32)--VOLTE 信令
  6. https://sysdig.com/blog/
  7. 保护计算机系统与数据有什么方法,电脑数据保护方法 看完保你不后悔
  8. TRUNCATE TABLE command not allowed within multi-statement transaction
  9. 每天30分钟学python-每天 3 分钟,小闫带你学 Python(二十三)
  10. 美图秀秀一寸照片的制作
  11. 简单html实现图片轮播,JavaScript实现简易轮播图
  12. Unifying Voxel-based Representation with Transformer for 3D Object Detection (UVTR)论文笔记
  13. 云计算测试——软件测试的未来
  14. Stream.flatMap
  15. 什么是强化学习?强化学习之父:它是人工智能的未来
  16. APICloud平台常用技术点汇总详解
  17. 几个常用的ASP木马
  18. JS脚本错误80020101以及FCKedito未定义的一种解决办法
  19. 解决Excel打开UTF-8编码CSV文件乱码的问题亲测有效
  20. 嵌入式linux rootfs,【转】制作 嵌入式 linux 根文件系统 rootfs

热门文章

  1. 控件属性、事件持久化(转)
  2. ASP.NET中常用的优化性能方法(转)
  3. SOAWebservice系列课程(1)--The Essentials of Service Orientation
  4. Form表单标签的Enctype属性的编码格类型
  5. python sqlalchemy mysql 自动映射
  6. TensorFlow从1到2(四)时尚单品识别和保存、恢复训练数据
  7. 50行代码搞定无限滑动幻灯片
  8. java时间间隔的判断
  9. http压力测试工具
  10. 每个Java应用容器都要包含tomcat_部署一个不依赖tomcat容器的应用