代码改变世界

jdk8 时间

  方斌  阅读(57)  评论(0编辑  收藏  举报

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());
}

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示