zoukankan      html  css  js  c++  java
  • 廖雪峰Java7处理日期和时间-1概念-1日期和时间

    1.日期

    日期是指某一天,如2016-11-20,2018-1-1

    2.时间有2种:

    • 不带日期的时间:14:23:54
    • 带日期的时间:2017-1-1 20:21:23,唯一确定某个时刻

    3.时区

    时区:全球有24个时区。以英国格林尼治天文台为0度经线。每个时区横跨经度15度。相邻两个时区的时间相差1小时。
    计算:区时 = 已知区时 - (已知区时的时区 - 要计算区时的时区)
    东时区为正,西时区为负
    如:已知北京(东八区)时间为5月1日12:00,求纽约(西五区)的区时。
    纽约时间=12:00-[8-(-5)]=-1:00+24:00-1天=23:00(即纽约时间为4月30日的23:00)

    没有时区标示的一般某个时刻指的是本地时间
    时区的表示方式:

    • GMT+08:00 东八区
    • UTC+08:00 东八区。UTC和GMT基本等价,只是UTC采用原子钟计时。每隔几年,有个闰秒。
    • CST China Standard Time/Central Standard Time USA。代表中国标准时间,也可以是美国中部标准时间,不要使用
    • Asia/Shanghai 地区/城市

    4.夏令时

    夏令时开始时向前调快1小时,结束时恢复正常,即向后调整1小时。
    北京当地时间2016-11-20 8:15,纽约当地时间2016-11-20 19:15
    北京当地时间2016-6-20 8:15,纽约当地时间2016-6-20 20:15
    按照城市时间会出现夏令时换算;使用GMT/UTC避免夏令时换算弊端。

    2016-11-20 2016-6-20
    GMT-05:00 19:00 19:00
    UTC-05:00 19:00 19:00
    America/New York 19:00 20:00

    5.地区/Locale

    Locale表示一个国家或地区的日期、时间、数字、货币等格式:

    • zh_CN:2016-11-30
    • en_US:11/30/2016

    计算机用Locale在日期、时间、货币和字符串之间进行转换:

    中国用户 美国用户
    购买价格: ¥10077 $1,500
    购买日期: 2016-11-20 11/30/2016

    6.总结

    • 理解日期、时间和时刻
    • 理解时区的概念
    • 理解夏令时、同一地区用GMT/UTC和城市表示的时区可能导致时间不同
      * GMT-05:00
      * America/New York
    • 理解Locale用来针对当地用户习惯格式化日期、时间、数字、货币等
  • 相关阅读:
    Picasa生成图片幻灯片页面图文教程
    Ubuntu下缓冲器溢出攻击实验(可以看看问题分析)
    redis源码笔记 aof
    redis源码笔记 bio
    redis源码笔记 slowlog
    记录一个字符数组和字符指针的不同
    redis源码笔记 rediscli.c
    redis源码笔记 redis对过期值的处理(in redis.c)
    redis源码笔记 有关LRU cache相关的代码
    redis源码笔记 initServer
  • 原文地址:https://www.cnblogs.com/csj2018/p/10665590.html
Copyright © 2011-2022 走看看