JAVA api—Date

本文旨在详细讲解Java中Date、DateFormat和Calendar类的使用,包括Date的基本概念和方法,DateFormat的格式化操作,特别是SimpleDateFormat的用法,以及Calendar类如何处理时间的各个部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

本章目标:

一、掌握Date、DateFormat、Calendar类的基本概念

二、熟悉Date、DateFormat、Calendar类的基本方法

三、能通过Date、DateFormat、Calendar类对时间进行基本的处理

1、Date的基本概念及其使用    

2、(1)Dateformat的方法

      (2)SimpleDateFormat

3、Calendar


本章目标:

一、掌握Date、DateFormat、Calendar类的基本概念

二、熟悉Date、DateFormat、Calendar类的基本方法

三、能通过Date、DateFormat、Calendar类对时间进行基本的处理

1、Date的基本概念及其使用    

       Date 类表示日期和时间(该类大部分方法已过时)

        提供操纵日期和时间各组成部分的方法

Date 类的最佳应用之一是获取系统当前时间

获取系统当前时间是一个长整型数据Long, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据,表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数.
         Date常用方法:

Date d=new Date();
    Date s=new Date();
    System.out.println(d.getDay());//星期几
    System.out.println(d.getTime());//毫秒数
    System.out.println(d.getHours());//时
    System.out.println(d.getMinutes());//分钟
    System.out.println(d.getSeconds());//秒钟
    System.out.println(d.getYear()+1900);//年份
    System.out.println(d.getMonth()+1);//月份
    System.out.println(d.getDate());//日
    
    

与其他引用类型一样,Date类型也重写了toLocaleString()、toString()方法;但这些方法返回的值与其他 类型中的方法不同。 以get开头的系列方法(大部分过时)

2、(1)Dateformat的方法

DateFormat                                日期格式化类(抽象类)
String format(Date date)                  方法用于格式化时间
static DateFormat getDateInstance()       获取日期的DateFormat 对象
static DateFormat getDateTimeInstance()   获取日期-时间的DateFormat 对象
static final DateFormat getDateTimeInstance(int dateStyle, int timeStyle)
获取给定日期和时间格式化风格 
DateFormat 对象 (可选参数 short,full, long, medium ,)

(2)SimpleDateFormat

功能:完成日期的显示格式化

应用:

SimpleDateFormat df=new  SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
      System.out.println(df.format(s));
      
      String today=df.format(new Date());
      try {
          Date dl=df.parse("2009-06-12 02:06:37");
      } catch (Exception e) {
          // TODO: handle exception
          e.printStackTrace();
     }
     System.out.println(df.format(new Date()));

只要通过向SimpleDateFormat 的构造函数传递格式字符串“EEEE-MM-dd-yyyy",

我们就能够指明自己想要的格式. 然后调用DateFormat(Date date)方法,得到想要的格式。

EEEE是星期, MM是月, dd是日, yyyy是年. 字符的个数决定了日期是如何格式化的.传递"EE-MM-dd-yyyy"会显示 星期五-02-27-2009

 public Date parse(String source) ( DateFormat类中 )解析格式化一个字符串时间, 将一个字符串转换成时间 例如:Date d = sdf2.parse("2008/10/28 13:20:22");

//注意字符串的格式必须和设定的格式(sdf2)一致

3、Calendar

如何才能设置和获取日期数据的特定部分呢, 比如说小时, 日, 或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 

答案是使用Calendar 类。Calendar 类也是一个抽象类,它有一个子类GregorianCalendar。

(1)使用GregorianCalendar类获取时间相关信息


(2)使用calendar.get(Calendar.YEAR) 获取年


(3)使用calendar.get(Calendar.MONTH) + 1) 获取月

Calendar c=Calendar.getInstance();
    Calendar c1=Calendar.getInstance();
    c.set(2008,6-7,23);
    c1.set(2009, 6-1, 12);
    c1.add(Calendar.DATE, 10);
    c1.add(Calendar.DATE, -10);
    int year1=c.get(Calendar.YEAR);
    int month1=c.get(Calendar.MONTH)+1;
    int year=c1.get(Calendar.YEAR);//获得年份
    int month=c1.get(Calendar.MONTH)+1;//获得月份
    int date =c1.get(Calendar.DATE);//获得日期
    int hour =c1.get(Calendar.HOUR_OF_DAY);//获得小时
    int minute=c1.get(Calendar.MINUTE);//获得分钟
    int secont=c1.get(Calendar.SECOND);//获得秒
    int day=c1.get(Calendar.DAY_OF_WEEK);//获得星期几
LocalDate now= LocalDate.now();
    System.out.println(LocalDate.now());
    System.out.println(LocalDate.of(2020, 1, 1));
    System.out.println(now.getYear());
    System.out.println(now.getMonthValue());
    System.out.println(now.getDayOfMonth());
    System.out.println(now.getDayOfWeek().getValue());
    System.out.println(now.isLeapYear());//是否是闰年
    System.out.println(now.lengthOfMonth());
    System.out.println(now.lengthOfYear());
    System.out.println(now.getDayOfYear());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值