首页 > 编程语言 >Java 日期 API

Java 日期 API

时间:2024-11-11 14:42:25浏览次数:1  
标签:Java int System 日期 API println Calendar now out

JDK8之前

日期与时间戳之间的转换

public class Test {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println("date = " + date); // date = Sun Sep 26 14:48:52 CST 2021
        Date date1 = new Date(1632638970000L);
        System.out.println("date1 = " + date1); // date1 = Sun Sep 26 14:49:30 CST 2021

        long time = date.getTime();
        System.out.println("time = " + time); // time = 1632639026166

        date.setTime(1632638970000L);
        System.out.println("date = " + date); // date = Sun Sep 26 14:49:30 CST 2021
    }
}

日历获取年月日字段

public class Test {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        int minute = calendar.get(Calendar.MINUTE);
        int second = calendar.get(Calendar.SECOND);
        int milliSecond = calendar.get(Calendar.MILLISECOND);
        // 2021-9-26 15:14:6:16
        System.out.print(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second + ":" + milliSecond);
    }
}

日期格式化

public class Test {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date();
        // 将日期对象格式化为字符串
        String format = sdf.format(date);
        System.out.println("format = " + format); // format = 2021-09-26 16:02:17
        // 将字符串解析为日期对象
        Date parse = sdf.parse(format);
        System.out.println("parse = " + parse); // parse = Sun Sep 26 16:02:17 CST 2021
    }
}

JDK8之后

之前存在的问题

  1. Java 1.0 中包含了一个 Date 类,但是它的大多数方法已经在 Java 1.1 中引入 Calendar 类的时候被废弃了。
  2. 格式化只对 Date 有效,Calendar 则不行。
  3. 它们不是线程安全的,不能处理闰秒等

 

注:API 功能更加强大,但好像用的更多的还是老版本写法

本地日期时间

  • Instant 是带时区的(以UTC为准),用来替换以前的 Date
  • LocalDateTIme 是不带时区(以本地时区为准)的,用来替换以前的 Calendar
public class Test {
    public static void main(String[] args) {
        LocalDate now = LocalDate.now();
        System.out.println("now = " + now); // now = 2021-09-26
        LocalTime now1 = LocalTime.now();
        System.out.println("now1 = " + now1); // now1 = 20:02:32.659
        LocalDateTime now2 = LocalDateTime.now();
        System.out.println("now2 = " + now2); // now2 = 2021-09-26T20:02:32.660
        
        
        Instant now = Instant.now(); 
        System.out.println("now = " + now); // now = 2021-09-27T01:54:39.351Z
        LocalDateTime now1 = LocalDateTime.now();
        System.out.println("now1 = " + now1); // now1 = 2021-09-27T09:54:39.401
        
        
        LocalDateTime now = LocalDateTime.now();
        int year = now.getYear();
        System.out.println("获取年份:" + year);
        int monthValue = now.getMonthValue();
        System.out.println("获取月份:" + monthValue);
        int dayOfMonth = now.getDayOfMonth();
        System.out.println("获取天数:" + dayOfMonth);
        int dayOfYear = now.getDayOfYear();
        System.out.println("获取一年中的第" + dayOfYear + "天");
        DayOfWeek dayOfWeek = now.getDayOfWeek();
        System.out.println("获取星期" + dayOfWeek.getValue());
        int hour = now.getHour();
        System.out.println("获取小时:" + hour);
        int minute = now.getMinute();
        System.out.println("获取分钟:" + minute);
        int second = now.getSecond();
        System.out.println("获取秒:" + second);
        int nano = now.getNano();
        System.out.println("获取纳秒:" + nano);
    }
}

日期格式化

public class Test {
    public static void main(String[] args) {
        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 将日期格式化为字符串
        String format = df.format(LocalDateTime.now());
        System.out.println("format = " + format); // format = 2021-09-27 13:55:51
        // 将字符串解析为日期
        TemporalAccessor parse = df.parse("2011-11-11 11:11:11");
        LocalDateTime from = LocalDateTime.from(parse);
        System.out.println("from = " + from); // from = 2011-11-11T11:11:11
    }
}

 

标签:Java,int,System,日期,API,println,Calendar,now,out
From: https://www.cnblogs.com/ReturnOfTheKing/p/18539559

相关文章

  • Java爬虫:京东商品SKU信息的“偷心盗贼”
    在这个信息爆炸的时代,数据就像是藏在深山里的宝藏,等待着我们这些“数据探险家”去发掘。今天,我们要化身为一名“偷心盗贼”,用Java这把锋利的“剑”,精准地从京东的海洋中窃取商品的SKU信息。别担心,我们这是合法的“盗窃”,因为我们只是在学习如何用代码与网页对话。环境准备:装......
  • Java爬虫精准获得JD商品SKU信息
    在数字化时代,数据的价值日益凸显,尤其是在电商领域。通过爬虫技术,我们可以从网站中提取有价值的信息,用于市场分析、价格监控等。Java作为一种成熟且功能强大的编程语言,拥有丰富的库支持,使其成为编写爬虫的理想选择。本文将详细介绍如何使用Java编写爬虫,以精准获取京东(JD)商品的详......
  • API接口精准获取商品详情信息案例
    在当今数字化时代,电子商务平台的蓬勃发展,使得商品信息的获取变得尤为重要。API(ApplicationProgrammingInterface,应用程序编程接口)作为连接前端用户界面与后端服务的桥梁,扮演着至关重要的角色。本文将通过一个实际案例,展示如何利用API接口精准获取商品详情信息,并提供相应的代......
  • 精准获取商品详情信息的API接口
    在这个数字化的时代,购物狂们不再满足于传统的购物方式,他们需要的是一种全新的、快速的、精准的购物体验。而这一切,都离不开一个强大的后盾——API接口。今天,就让我们跟随一位名叫“代码侠”的程序员,一起踏上这场幽默而精准的代码之旅,探索如何通过API接口获取商品详情信息。第......
  • 2024年Java后端开发最全面试攻略,不管你工作几年,都得看看
    互联网公司的面试,从形式上说,一般分为2~3轮技术面+1轮HR面,不过某些公司没有HR面试。在技术面试中,面试官一般会就你所应聘的岗位进行相关知识的考察,也叫基础知识和业务逻辑面试,只要回答的不是特别差,面试官通常会继续跟你聊聊项目,这个时候就开始了项目面试。也就是说,技......
  • jsp页面和Java代码
    EL用于在jsp页面获取servlet传的值使用方式1.在头文件里开启不忽略el表达式<!--jsp头文件isELIgnored="false"这里是不忽视el语法--><%@pagecontentType="text/html;charset=UTF-8"language="java"isELIgnored="false"%>2.使用${name}方式来获取传来的值实......
  • java里面使用groovy案例+详解
    场景:最近有一个计算商品运费的,如果商品的数量大于快递公司设置的数量10那么超出部分也需要计算额外运费,那么这些计算过程代码我能不能不在java里面写呢,用一种可配置化的方式来根据不同的传参计算出运费?页面传参[{“key”:“起订量(大单位)”,“isRequired”:true,“is......
  • 20万字208道Java经典面试题总结(附答案)
    1、JDK和JRE有什么区别?JDK(JavaDevelopmentKit),Java开发工具包JRE(JavaRuntime Environment),Java运行环境JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的类库。2、==和 equals 的区别是什么?对于基本类型,==比较的......
  • 2024年最全java面试题(八股文)
    1.Java基础1.1为什么Java代码可以实现一次编写、到处运行?在程序运行前,Java源代码(.java)需要经过编译器编译成字节码(.class)。在程序运行时,JVM负责将字节码翻译成特定平台下的机器码并运行,也就是说,只要在不同的平台上安装对应的JVM,就可以运行字节码文件。1.2一个Java文件里......
  • 孔夫子的数字化宝库:用API解锁在售商品的秘密
    孔夫子的数字化宝库在数字化的时代,孔夫子的智慧不仅仅停留在古籍中,还延伸到了网络空间。想象一下,孔夫子戴着一副老花镜,坐在电脑前,用他那古老的智慧,通过API接口,为我们解锁在售商品的秘密。这不仅是一次技术探险,更是一次幽默的穿越之旅。1.孔夫子旧书网API接口:数字化的竹简孔......