Java常见API-Date类、DateFormat类、Calendar类

一、Date类

类 Date 表示特定的瞬间,精确到毫秒。
包为:java.util.Date

Date类常用方法:

String format(Date date)

例子:

//空参构造,获取到当前操作系统时间
Date date = new Date();

//带参构造,传递一个毫秒值,传成对应的日期对象,返回long
Date date1 = new Date(0);

//Date类的getTime()方法,将时间转化成一个毫秒值
long time = date.getTime();

//Date类的setTime(),传递一个毫秒值,将毫秒值转化成一个日期对象
date.setTime(0);


二、DateFormat类

DateFormat 是日期/时间格式化子类的【抽象类】,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。

包为:java.text.SimpleDateFormat

类常用方法:

String format(Date date)

Date parse(String source)

(1)对日期进行格式化

//1、创建SimpleDateFormat对象,写入格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分钟ss秒");

//2、SimpleDateFormat类调用方法format()对日期进行格式化
String date = sdf.format(new Date());

日期模式:

yyyy  年份
MM    月份
dd    月中的天数
HH    0-23小时
mm    小时中的分钟数
ss    秒

(2)将字符串转换成日期对象(String to Date)

DateFormat类方法:Date parse(String s)

    public static void main(String[] args)throws Exception{

        stringToDate();

    }

     public static void stringToDate()throws Exception{

        //1、创建SimpleDateFormat对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        //2、子类对象,调用方法parse 传递String,返回Date
        Date date = sdf.parse("1996-5-6");

        System.out.println(date);
        //运行结果为:Mon May 06 00:00:00 CST 1996
    }


三 、Calendar类

包: java.util.Calendar

Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。
Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象.如下:


//Calendar类静态方法  static Calender getInstance()

Calendar cal = Calendar.getInstance();//返回当前日历

其返回结果

java.util.GregorianCalendar[time=1510712024754,
zone=sun.util.calendar.ZoneInfo[id=”Asia/Shanghai”,
offset=28800000,dstSavings=0,useDaylight=false,
transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,
YEAR=2017,MONTH=10,WEEK_OF_YEAR=46,WEEK_OF_MONTH=3,DAY_OF_MONTH=15,
DAY_OF_YEAR=319,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,
AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=13,SECOND=44,MILLISECOND=754,
ZONE_OFFSET=28800000,DST_OFFSET=0]

(1)获取时间字段值——get()

/*public int get(int field) //获取时间字段值,字段参见帮助文档
   YEAR 年
   MONTH 月,从0开始算起,最大11;0代表1月,11代表12月。
   DATE 天
   HOUR 时
   MINUTE分
   SECOND秒
*/

package DateLearn;

import java.util.Calendar;

public class CalendarDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        //获取日期对象
        Calendar cal = Calendar.getInstance();

        //public int void get(int field) //获取时间字段值
        int  year =cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get(Calendar.DAY_OF_MONTH);
        System.out.println(year+" "+month+" "+day);
    }


}

(二)设置指定字段的值——set()

常见的两种set函数:
*set(int filed,int value);
*set(int year,int month,int day);

举例:

Calendar cal = Calendar.getInstance();
//第一种
cal.set(Calendar.MONTH,9);
//第二种
cal.set(2099,5,1);

(三)指定字段增加某值——add()

add(int field,int value)
日历的偏移量,可以指定一个日历中的字段,进行整段偏移

举例:

/**
 *我现在的时间是2017年11月15号,将日期向后推移280天后,
 *打印的时间为2018 7 22
**/

    public static void addCalendar(){
        Calendar cal = Calendar.getInstance();

       //将日期向后推移280天
        cal.add(Calendar.DAY_OF_MONTH, 280);

        int  year =cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH);
        int day = cal.get(Calendar.DAY_OF_MONTH);

        System.out.println(year+" "+month+" "+day);
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值