java date 设置时区,Java 日期时区
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 日期时区相关推荐
- Java Date Time 教程-java.sql.Date
Java的java.sql.Date类在JDBC API中被使用.如果你需要在java.sql.PreparedStatement上设置日期或者从java.sql.ResultSet获取日期,你将会和 ...
- java date 格式化_Date类日期格式化
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /* * 对日期进 ...
- Java Date Time 教程-java.sql.Timestamp
Java的java.sql.Timestamp类在JDBC API中被使用.如果你需要在java.sql.PreparedStatement上设置日期+时间或者从java.sql.ResultSet获 ...
- java date.getyear_为什么Java的Date.getYear()返回111而不是2011?
tl;博士 int year = LocalDate.parse( "04/12/2011" , DateTimeFormatter.ofLocalizedDate( Format ...
- java –cp_Java设置–用Java设置
java –cp Java Set is a collection of elements (Or objects) that contains no duplicate elements. Java ...
- java date转filetime,Java:格式化FileTime
在Java中我们可以使用DateTimeFormatter把FileTime转换为自定义的格式. public static String formatDateTime(FileTime fileTi ...
- java date 转换calendar_Java中日期格式(String、Date、Calendar)的相互转换
1 packageday20190318;2 3 importjava.text.ParseException;4 importjava.text.SimpleDateFormat;5 importj ...
- java date truncate_在Java中将dateTime转换为dd / mm / yy格式的日期
小编典典 正如我最初所说,Date对象没有固有的格式.java.util.Date持有毫秒时间值,代表日期和时间.通过选择DateFormat,可以从字符串解析日期或将日期格式化为字符串. 可以按照规 ...
- java date是cst_Java CST 日期问题
在做一个项目的过程中,出现了一个很奇怪的问题.就是修改一个项目的时候,从数据库中读取的时间显示是正确的,然后更新到后台的也是正确的,但是在进行时间转化的时候,出现了 Mon May 29 23:59: ...
最新文章
- 简单-三层-存储过程-增删改四
- swift 原生给h5发消息_Swift-WKWebView与JavaScript的细节,H5页面跳转原生界面
- python在材料模拟中的应用_材料模拟python_模拟-python模拟-在不妨碍实现的情况下修补方法...
- 编写程序乘法口诀表C语言,陈广川问:c语言编程九九乘法口诀表 怎样用c语言写九九乘法口诀表?...
- OpenTSDB 安装
- Vue.js 概述与 MVVM 模式
- Python中的文件和流
- Hibernate-Criteria
- Python2解决的中文乱码问题
- NJUPT_CTF easychallenge 解题脚本
- Java程序的开发步骤
- KX022-1020 3轴 传感器 LGA RT8577AGQW LED驱动器
- dnf时装补丁教程_DNF补丁教程:就 是 这 么 简 单
- 笨方法刷博客_C实现
- XSS 之 haozi me 题解——人生第一份CSDN题解
- 生活美学 | 8种咖啡冲煮器具分别有什么特点
- 【移动端】屏幕、像素、视口、 viewport 控制
- This system is not registered with an entitlement server.
- PYTHON代码:根据FileRecord和MAP的关系,拼接IBM V7000 精简卷碎片
- 1005【顺序结构】马克与爸爸的年龄问题