Java日期时区

ZoneOffset表示与UTC时区偏移的固定区域。

ZoneOffset不跟踪由夏令时导致的区域偏移的更改。

ZoneOffset类声明三个常量:UTC

MAX

MIN

UTC是UTC的时区偏移常量。

MAX和MIN是最大和最小支持的区域偏移。

Z用作UtC时区的区域偏移指示符。

我们可以用小时,分钟和秒的组合创建ZoneOffset。import java.time.ZoneOffset;

public class Main {

public static void main(String[] args) {

ZoneOffset zoneOffset1 = ZoneOffset.ofHours(-1);

System.out.println(zoneOffset1);

ZoneOffset zoneOffset2 = ZoneOffset.ofHoursMinutes(6, 30);

System.out.println(zoneOffset2);

ZoneOffset zoneOffset3 = ZoneOffset.ofHoursMinutesSeconds(9, 30, 45);

System.out.println(zoneOffset3);

}

}

上面的代码生成以下结果。

例2

以下代码显示如何从偏移创建区域偏移。import java.time.ZoneOffset;

public class Main {

public static void main(String[] args) {

ZoneOffset zoneOffset1 = ZoneOffset.of("+05:00");

ZoneOffset zoneOffset2 = ZoneOffset.of("Z"); // Same as ZoneOffset.UTC System.out.println(zoneOffset1);

System.out.println(zoneOffset2);

}

}

上面的代码生成以下结果。

例3

以下代码从ZoneOffset输出常量值。import java.time.ZoneOffset;

public class Main {

public static void main(String[] args) {

System.out.println("ZoneOffset.UTC: " + ZoneOffset.UTC);

System.out.println("ZoneOffset.MIN: " + ZoneOffset.MIN);

System.out.println("ZoneOffset.MAX: " + ZoneOffset.MAX);

}

}

上面的代码生成以下结果。

注意

Java Date-Time API支持以小时,分钟和秒为单位的区域偏移量。

来自ZoneOffset的compareTo()允许我们比较两个区域偏移。

+1:30的区域偏移在+1:00的区域偏移之前。

Java Date-Time API支持-18:00到+18:00之间的区域偏移。

ZoneId

ZoneId表示区域偏移及其用于更改区域偏移的规则夏令时。

ZoneOffset表示从UtC时区偏移的固定区域,而ZoneId表示可变区偏移。

这些更改是由时区规则定义的。

时区ID

每个时区都有一个ID,可以用三种格式定义:在区域偏移中,可以是“Z”,“+ hh:mm:ss”或“-hh:mm:ss”,例如“+01:00”。

前缀为“UTC”,“GMT”或“UT”,后跟区域偏移量,例如“UTC + 01:00”。

在区域名称中,例如,“美洲/芝加哥”。

以下代码显示如何使用of()工厂方法创建ZoneId。import java.time.ZoneId;

public class Main {

public static void main(String[] args) {

ZoneId usChicago = ZoneId.of("America/Chicago");

System.out.println(usChicago);

ZoneId fixedZoneId = ZoneId.of("+01:00");

System.out.println(fixedZoneId);

}

}

上面的代码生成以下结果。

例4

ZoneId中的getAvailableZoneIds()返回所有已知时区ID。import java.time.ZoneId;

import java.util.Set;

public class Main {

public static void main(String[] args) {

Set zoneIds = ZoneId.getAvailableZoneIds();

for (String zoneId: zoneIds) {

System.out.println(zoneId);

}

}

}

上面的代码生成以下结果。

ZoneRules

ZoneRules跟踪区域偏移如何变化。

下面的代码显示了如何使用ZoneRules以获取有关ZoneId的时间偏移和时间更改的信息。import java.time.LocalDateTime;

import java.time.ZoneId;

import java.time.ZoneOffset;

import java.time.zone.ZoneOffsetTransition;

import java.time.zone.ZoneRules;

import java.util.List;

public class Main {

public static void main(String[] args) {

LocalDateTime now = LocalDateTime.now();

ZoneId usChicago = ZoneId.of("America/Chicago");

System.out.println("Zone ID: " + usChicago.getId());

ZoneRules rules = usChicago.getRules();

System.out.println("isFixedOffset(): " + rules.isFixedOffset());

ZoneOffset offset = rules.getOffset(now);

System.out.println("Zone offset: " + offset);

List transitions = rules.getTransitions();

System.out.println(transitions);

}

}

上面的代码生成以下结果。

java date 设置时区,Java 日期时区相关推荐

  1. Java Date Time 教程-java.sql.Date

    Java的java.sql.Date类在JDBC API中被使用.如果你需要在java.sql.PreparedStatement上设置日期或者从java.sql.ResultSet获取日期,你将会和 ...

  2. java date 格式化_Date类日期格式化

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* * 对日期进 ...

  3. Java Date Time 教程-java.sql.Timestamp

    Java的java.sql.Timestamp类在JDBC API中被使用.如果你需要在java.sql.PreparedStatement上设置日期+时间或者从java.sql.ResultSet获 ...

  4. java date.getyear_为什么Java的Date.getYear()返回111而不是2011?

    tl;博士 int year = LocalDate.parse( "04/12/2011" , DateTimeFormatter.ofLocalizedDate( Format ...

  5. java –cp_Java设置–用Java设置

    java –cp Java Set is a collection of elements (Or objects) that contains no duplicate elements. Java ...

  6. java date转filetime,Java:格式化FileTime

    在Java中我们可以使用DateTimeFormatter把FileTime转换为自定义的格式. public static String formatDateTime(FileTime fileTi ...

  7. java date 转换calendar_Java中日期格式(String、Date、Calendar)的相互转换

    1 packageday20190318;2 3 importjava.text.ParseException;4 importjava.text.SimpleDateFormat;5 importj ...

  8. java date truncate_在Java中将dateTime转换为dd / mm / yy格式的日期

    小编典典 正如我最初所说,Date对象没有固有的格式.java.util.Date持有毫秒时间值,代表日期和时间.通过选择DateFormat,可以从字符串解析日期或将日期格式化为字符串. 可以按照规 ...

  9. java date是cst_Java CST 日期问题

    在做一个项目的过程中,出现了一个很奇怪的问题.就是修改一个项目的时候,从数据库中读取的时间显示是正确的,然后更新到后台的也是正确的,但是在进行时间转化的时候,出现了 Mon May 29 23:59: ...

最新文章

  1. 简单-三层-存储过程-增删改四
  2. swift 原生给h5发消息_Swift-WKWebView与JavaScript的细节,H5页面跳转原生界面
  3. python在材料模拟中的应用_材料模拟python_模拟-python模拟-在不妨碍实现的情况下修补方法...
  4. 编写程序乘法口诀表C语言,陈广川问:c语言编程九九乘法口诀表 怎样用c语言写九九乘法口诀表?...
  5. OpenTSDB 安装
  6. Vue.js 概述与 MVVM 模式
  7. Python中的文件和流
  8. Hibernate-Criteria
  9. Python2解决的中文乱码问题
  10. NJUPT_CTF easychallenge 解题脚本
  11. Java程序的开发步骤
  12. KX022-1020 3轴 传感器 LGA RT8577AGQW LED驱动器
  13. dnf时装补丁教程_DNF补丁教程:就 是 这 么 简 单
  14. 笨方法刷博客_C实现
  15. XSS 之 haozi me 题解——人生第一份CSDN题解
  16. 生活美学 | 8种咖啡冲煮器具分别有什么特点
  17. 【移动端】屏幕、像素、视口、 viewport 控制
  18. This system is not registered with an entitlement server.
  19. PYTHON代码:根据FileRecord和MAP的关系,拼接IBM V7000 精简卷碎片
  20. 1005【顺序结构】马克与爸爸的年龄问题

热门文章

  1. 代码批量重命名图片:去掉图片名字的末尾几个字符
  2. 后端工程师之路(4)GIT工具的使用与介绍
  3. html怎样使一个视频充满整个屏幕,抖音视频怎么铺满全屏
  4. Transporter 上传iPA上架
  5. 【洛谷P1486】郁闷的出纳员【树状数组】
  6. 修图软件哪个好android,修图软件哪个好?手机修图软件大盘点
  7. VMware虚拟机centos6.5最小化安装以及配置网络
  8. mac vscode插件位置
  9. php 生成图片二维码
  10. 松下串口PLC远程上下载程序