package p2022;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @description:
* @projectName:({PROJECT_NAME}
* @see:{PACKAGE_NAME}
* @author:fb
* @createTime:2022/2/7 16:55
* @version:1.0
*/
public class TestTime01 {
public static void main(String[] args) {
/**
* 字母 日期或时间元素 表示 示例
* G Era 标志符 Text AD
* y 年 Year 1996 ; 96
* M 年中的月份 Month July ; Jul ; 07
* w 年中的周数 Number 27
* W 月份中的周数 Number 2
* D 年中的天数 Number 189
* d 月份中的天数 Number 10
* F 月份中的星期 Number 2
* E 星期中的天数 Text Tuesday ; Tue
* a Am/pm 标记 Text PM
* H 一天中的小时数(0-23) Number 0
* k 一天中的小时数(1-24) Number 24
* K am/pm 中的小时数(0-11) Number 0
* h am/pm 中的小时数(1-12) Number 12
* m 小时中的分钟数 Number 30
* s 分钟中的秒数 Number 55
* S 毫秒数 Number 978
* z 时区 General time zone Pacific Standard Time ; PST ; GMT-08:00
* Z 时区 RFC 822 time zone -0800
*/
System.out.println(
"24小时制:mm标识分钟:" + new SimpleDateFormat("yyyy-MM-dd HH-mm-ss.sss ").format(new Date()));
System.out.println(
"24小时制:MM表示月份:" + new SimpleDateFormat("yyyy-MM-dd HH-MM-ss.sss ").format(new Date()));
System.out.println(
"12小时制:" + new SimpleDateFormat("yyyy-MM-dd hh-mm-ss.sss ").format(new Date()));
System.out.println(
"12小时制:" + new SimpleDateFormat("yyyy-MM-dd hh-mm-ss.sss a ").format(new Date()));
// 加入参数Locale.ENGLISH,既可输出AM或者PM
// 加入参数Locale.CHINESE,既可输出“上午”或者“下午”
System.out.println(
"12小时制:a "
+ new SimpleDateFormat("yyyy-MM-dd hh-mm-ss.sss a", Locale.ENGLISH).format(new Date()));
System.out.println(
"12小时制:a "
+ new SimpleDateFormat("yyyy-MM-dd hh-mm-ss.sss a", Locale.CHINESE).format(new Date()));
DateTimeFormatter dtf = new DateTimeFormatterBuilder().appendPattern("hh:mm a").toFormatter();
DateTimeFormatter dtf1 = dtf.withLocale(Locale.ENGLISH); // 展示英文
LocalTime localTime = LocalTime.now();
System.out.println("DateTimeFormatter:dtf " + dtf.format(localTime));
System.out.println("DateTimeFormatter:dtf1 " + dtf1.format(localTime));
System.out.println(
"LocalDateTime:"
+ LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.systemDefault()).format(dtf));
System.out.println(
"LocalDateTime:Asia/Shanghai:"
+ LocalDateTime.ofInstant(new Date().toInstant(), ZoneId.of("Asia/Shanghai"))
.format(dtf));
// atZone(ZoneId.of("America/Regina")
Instant instant = new Date().toInstant();
instant.atZone(ZoneId.of("America/Regina"));
System.out.println(
"LocalDateTime:America/Regina:dtf "
+ LocalDateTime.ofInstant(instant, ZoneId.of("America/Regina")).format(dtf));
System.out.println(
"LocalDateTime:America/Los_Angeles:dd MMM uuuu a: "
+ LocalDateTime.ofInstant(instant, ZoneId.of("America/Los_Angeles"))
.format(DateTimeFormatter.ofPattern("dd MMM uuuu a")));
System.out.println(
"LocalDateTime:America/Los_Angeles:dd MMM uuuu a: "
+ LocalDateTime.ofInstant(instant, ZoneId.of("America/Los_Angeles"))
.format(DateTimeFormatter.ofPattern("dd MMM uuuu a").withLocale(Locale.ENGLISH)));
System.out.println(
"LocalDateTime:America/Los_Angeles:dd MMM uuuu a: "
+ LocalDateTime.ofInstant(instant, ZoneId.of("America/Los_Angeles"))
.format(DateTimeFormatter.ofPattern("dd MMM uuuu a").withLocale(Locale.ENGLISH)));
System.out.println(
"LocalDateTime:America/Los_Angeles:toString:"
+ LocalDateTime.ofInstant(instant, ZoneId.of("America/Los_Angeles")).toString());
}