IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java常用类(6) -> 正文阅读

[Java知识库]Java常用类(6)

Java常用类(6)----获取时间类

java.text.SimpleDateFormat类

  1. Date类的API不易于国际化,java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类
  2. 它允许进行 格式化:日期->文本、 解析:文本->日期
  3. 格式化(日期转化为字符串):
    • SimpleDateFormat():默认的模式和语言环境创建对象
    • public SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用
    • public String format(Date date):方法格式化时间对象date
  4. 解析(格式化的逆过程):
    • public Date parse(String source):从给定字符串的开始解析文本,以生成一个日期
  5. 代码测试
public class DateTimeTest2 {
    /*
    * jdk8之前的日期时间的API测试
    * 1.System类中currentTimeMillis();
    * 2.java.util.Date和子类java.sql.Date
    * 3.SimpleDateFormat
    * 4.Calendar
    *
    *
    *
    * */
    @Test
    public void testSimpleDateFormat(){
        //实例化:使用默认构造器
        SimpleDateFormat sdf = new SimpleDateFormat();
        //格式化
        Date date = new Date();
        System.out.println(date);//Thu Jan 27 21:32:44 CST 2022
        String format = sdf.format(date);
        System.out.println(format);//22-1-27 下午9:32
        //解析
        String str1="22-1-26 下午9:37";//默认格式
        Date date1 = sdf.parse(str1);
        System.out.println(date1);
        //按照指定方式格式化
        SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//使用想要的格式

        String date2 = sdf1.format(date);
        System.out.println(date2);//2022-01-27 09:45:45
        



    }


}

解析:要求字符串必须是符合SimpleDateFormat识别的格式(通过构造器参数体现),否则,抛异常

  1. 字符串“2020-09-08”转换为java.sql.Date
 public void testExer() throws ParseException {
        String birth="2020-09-08";
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf1.parse(birth);
        System.out.println(date);
        java.sql.Date birthDate=new java.sql.Date(date.getTime());
        System.out.println(birthDate);
        

    }

java.util.Calendar类

  1. Calendar是一个抽象基类,主要用于完成日期字段之间相互操作的功能
  2. 获取Calendar实例的方法
    • 使用Calendar.getInstance()方法
    • 调用它的子类GregorianCalendar的构造器
  3. 一个Calendar的实例是系统时间的抽象表示,通过get(int field)方法来取得想要的时间信息。
  4. 注意:
    • 获取月份时:一月是0,二月是1,以此类推,12月是11
    • 获取星期时:周日是1,周二是2,。。。周六是7
  5. 常用方法:
    • get()
    • set()
    • getTime()
    • setTime()
  6. 代码测试
public class DateTimeCalendar {
    @Test
    public void CalendarTest(){
        //1.实例化
        Calendar calendar = Calendar.getInstance();//调用其静态方法
        //2.常用方法
        //get():获取一些属性
        int days = calendar.get(Calendar.DAY_OF_MONTH);//这一个月的第几天
        System.out.println(days);
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//5,周四,但是从周日开始算,所以是第五天
        //set():设置属性,修改属性
        calendar.set(Calendar.DAY_OF_MONTH,22);
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(day);//22
        //add():增加
        calendar.add(Calendar.DAY_OF_MONTH,3);
        int day2 = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(day2);//25:加三天
        //getTime():日历类--->Date
        Date date = calendar.getTime();
        System.out.println(date);//Tue Jan 25 22:14:20 CST 2022
        //setTime():Date--->日历类
        Date date1 = new Date();
        calendar.setTime(date1);
        int day3 = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(day3);//27


    }
}
  1. 说明:

? jdk8之前的日期时间的API测试

  • 1.System类中currentTimeMillis();
  • 2.java.util.Date和子类java.sql.Date
  • 3.SimpleDateFormat
  • 4.Calendar

Jdk8:java.time

  1. Java8吸收了Joda-Time的精华,以一个新的开始为Java创建优秀的API。新的java.time中包含了所有关于本地日期(LocalDate)、本地时间(LocalTime)、本地日期时间(LocalDateTime)、时区(ZoneDateTime)和持续时间(Duration)的类
  2. 三个类的使用
    • LocalDate
    • LocalTime
    • LocalDateTime(相较于其他两个,使用频率要高)
  3. 实例化:

now()

of()

//实例化 now():获取当前的日期、时间、日期加时间
        LocalDate localDate = LocalDate.now();
        LocalTime localTime = LocalTime.now();
        LocalDateTime now = LocalDateTime.now();
        System.out.println(localDate);
        System.out.println(localTime);
        System.out.println(now);
        //of():设置指定的年月时分秒,没有偏移量
        LocalDateTime localDateTime = LocalDateTime.of(2022, 1, 27, 22, 44, 45);
        System.out.println(localDateTime);//2022-01-27T22:44:45
  1. 方法的使用

    1)getXXX():获取一些属性

    //getXXX()
            System.out.println(localDateTime.getDayOfMonth());
            System.out.println(localDateTime.getDayOfWeek());
            System.out.println(localDateTime.getDayOfYear());
            System.out.println(localDateTime.getMonthValue());
    

    ?

  1. withXXX():设置一些属性

    //体现不可变性
            LocalDate localDate1 = localDate.withDayOfMonth(22);
            System.out.println(localDate);//不变,本地时间不会改变,比calendar靠谱
            System.out.println(localDate1);//2022-01-22,修改后的
    

    3)plusxxx(),minusxxx():增加减少

    /plusxxx(),minusxxx():增加减少
            LocalDateTime localDateTime1 = localDateTime.plusDays(3);
            System.out.println(localDateTime);//不可变性
            System.out.println(localDateTime1);//2022-01-30T22:44:45,增加三天
            LocalDateTime localDateTime2 = localDateTime.minusDays(7);
            System.out.println(localDateTime2);
    

    ?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:45:25  更:2022-01-28 11:47:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:23:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码