1-6 java基础:Date、SimpleDateFormat、Calendar

本文详细介绍了Java中处理日期和时间的主要类,包括Date、SimpleDateFormat及Calendar的使用方法。涵盖了如何创建日期对象、格式化日期、解析日期字符串以及进行日期的增减操作。

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

  • Date
package cn.chen.demo;

import java.util.Date;

public class Test_Date {
     /**
     * * A:Date类的概述是util包下的,不能导入sql包的
           * 类 Date 表示特定的瞬间,精确到毫秒。
       * B:构造方法
           * public Date()
           * public Date(long date)
       * C:成员方法
           * public long getTime()
           * public void setTime(long time)
     */
    public static void main(String[] args) {
          //demo1();
          //demo2();
          Date d1 = new Date();
          d1.setTime(1000); //设置毫秒值,改变时间对象
          System.out.println(d1);
    }
    public static void demo2() {
          Date d1 = new Date();
          System.out.println(d1.getTime()); //通过时间对象获取毫秒值
          System.out.println(System.currentTimeMillis()); //通过系统类的方法获取当前时间毫秒值
    }
    public static void demo1() {
          Date d1 = new Date();//如果没有传参数代表的是当前时间
          System.out.println(d1);
          Date d2 = new Date(0);//如果构造方法中参数传为0代表的是1970年1月1日
          System.out.println(d2);//通过毫秒值创建时间对象
    }
}
  • DateFormat(SimpleDateFormat)
package cn.chen.demo;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Test_SimpleDateFormat {
     /**
     * * A:DateFormat类的概述
           * DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
           * 是抽象类,所以使用其子类SimpleDateFormat
       * B:SimpleDateFormat构造方法
           * public SimpleDateFormat()
           * public SimpleDateFormat(String pattern)
       * C:成员方法
           * public final String format(Date date)
           * public Date parse(String source)
     * @throws ParseException
     */
    public static void main(String[] args) throws ParseException {
          //demo1();
          //demo2();
          //demo3();
          //将时间字符串转换成日期对象
          String str = "2016年08月08日 08:08:08";
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
          Date d = sdf.parse(str); //将时间字符串转换成日期对象
          System.out.println(d);
    }
    public static void demo3() {
          Date d = new Date();//获取当前时间对象
          SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//创建日期格式化类对象
          System.out.println(sdf.format(d)); //将日期对象转换为字符串
    }
    public static void demo2() {
          Date d = new Date(); //获取当前时间对象
          SimpleDateFormat sdf = new SimpleDateFormat();  //创建日期格式化类对象
          System.out.println(sdf.format(d)); //88-6-6 下午9:31
    }
    public static void demo1() {
          //DateFormat df = new DateFormat(); //DateFormat是抽象类,不允许实例化
          //DateFormat df1 = new SimpleDateFormat();
          DateFormat df1 = DateFormat.getDateInstance();  //相当于父类引用指向子类对象,右边的方法返回一个子类对象
    }
}
  • Calendar
package cn.chen.demo;

import java.util.Calendar;

public class Test_Calendar_1 {
     /**
     * * A:Calendar类的概述
           * Calendar 类是一个抽象类,它为特定瞬间与一组
           * 诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
       * B:成员方法
           * public static Calendar getInstance()
           * public int get(int field)
     */
    public static void main(String[] args) {
          Calendar c = Calendar.getInstance(); //父类引用指向子类对象
          //System.out.println(c);  //证明重写了toString方法打印了对象中所有的属性
          System.out.println(c.get(Calendar.YEAR));//获取年份
          System.out.println(c.get(Calendar.MONTH)+1);//获取月份(月份从0开始,需要+1)
          System.out.println(c.get(Calendar.DATE));//获取日期
    }
}
package cn.chen.demo;

import java.util.Calendar;

public class Test_Calendar_2 {
     /**
     * * A:Calendar类的概述
           * Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
       * B:成员方法
           * public static Calendar getInstance()
           * public int get(int field)
       * C:成员方法
           * public void add(int field,int amount)
           * public final void set(int year,int month,int date)
       * D:案例演示: Calendar类的成员方法使用
     */
    public static void main(String[] args) {
          //demo1();
          Calendar c = Calendar.getInstance();            //父类引用指向子类对象
          //c.add(Calendar.MONTH, -1);                         //对指定的字段进行向前减或向后加
          //c.set(Calendar.YEAR, 2000);                        //修改指定字段
          c.set(2000, 7, 8);
          System.out.println(c.get(Calendar.YEAR) + "年" 
                  + getNum((c.get(Calendar.MONTH)+1)) + "月" 
                  + getNum(c.get(Calendar.DAY_OF_MONTH)) + "日" 
                  + getWeek(c.get(Calendar.DAY_OF_WEEK)));
    }
    public static void demo1() {
          Calendar c = Calendar.getInstance();            //父类引用指向子类对象
          //System.out.println(c);
          System.out.println(c.get(Calendar.YEAR));       //通过字段获取年
          System.out.println(c.get(Calendar.MONTH));      //通过字段后期月,但是月是从0开始编号的
          System.out.println(c.get(Calendar.DAY_OF_MONTH));//月中的第几天
          System.out.println(c.get(Calendar.DAY_OF_WEEK));//周日是第一天,周六是最后一天

          System.out.println(c.get(Calendar.YEAR) + "年" 
                  + getNum((c.get(Calendar.MONTH)+1)) + "月" 
                  + getNum(c.get(Calendar.DAY_OF_MONTH)) + "日"
                  + getWeek(c.get(Calendar.DAY_OF_WEEK)));
    }

    /*
     * 将星期存储表中进行查表
     * 1,返回值类型String
     * 2,参数列表int week
     */

    public static String getWeek(int week) {
          String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
          return arr[week];
    }

    /*
     * 如果是个数数字前面补0
     * 1,返回值类型String类型
     * 2,参数列表,int num
     */
    public static String getNum(int num) {
          /*if(num > 9) {
               return "" + num;
          }else {
               return "0" + num;
          }*/
          return num > 9 ? "" + num : "0" + num;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值