JAVA中时间日期类的固定格式

本文介绍了JAVA中处理时间日期的两种主要类:SimpleDateFormat和Calendar。SimpleDateFormat主要用于日期对象到时间字符串的转换,以及反之的转换,适用于展示日期的需求。而Calendar类则能详细获取日期的各个字段,但在实际开发中,若只需格式化日期,通常使用SimpleDateFormat。

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

SimpleDateFormat 简单格式化时间类
//此类用于大多数开发,即只要是把日期按照一定的格式给展示出来的情况。

“将日期类对象转成时间字符串” //此方式在开发中运用较多

Date d = new Date(); //获取当前时间对象
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy/MM/dd HH:mm:ss”);//创建日期格式化类对象,”yyyy/MM/dd HH:mm:ss”是我们希望的日期出现格式
System.out.println(sdf.format(d));

“将时间字符串转换成日期对象”

String str = “2000年08月08日 08:08:08”;
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy年MM月dd日 HH:mm:ss”);//”yyyy/MM/dd HH:mm:ss”是我们传入的字符串日期格式
Date d = sdf.parse(str); //将时间字符串转换成日期对象
System.out.println(d);

Calendar 类: 日历类
//如果需要获取日期中的每一个字段,需要用到此类。

public static Calendar getInstance()    //创建对象
public int get(int field)               //通过字段获取值,字段在API中Calendar类里面 字段以Calendar.XXX的形式传入


public void add(int field,int amount)   //修改方法,可以为负,对指定的字段进行向前减或向后加
public final void set(int year,int month,int date)  //设置时间
        重载 void set(int field, int value) ://把指定的字段修改成指定的值

代码示例:
“获得每一个字段来拼接成我们想要的日期格式”
//但是如果只是想要获取我们想要的日期格式,在实际开发中是用SimpleDateFormat。除非想装逼。

    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));//周日是第一天,周六是最后一天

"对日期进行修改"

    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 String getWeek(int week) { //查表法  //1-7
    String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
        //因为日历类中的DAY_OF_WEEK,返回值 只有 1-7
    return arr[week];
}


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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值