Java Calendar类常用方法

算法常用API

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * 实例字段
 * YEAR 年
 * MONTH 月 0 - 11
 * DAY_OF_MONTH 一个月中的某天
 * DAY_OF_WEEK 一个星期中的某天 ;星期日 : 1 星期六 : 7
 * DAY_OF_YEAR 当前年中的天数。
 * DAY_OF_WEEK_IN_MONTH 当前月中的第几个星期。
 * HOUR  当天中的小时数
 * MINUTE 当前小时中的分钟数
 * SECOND 当前分钟中的秒数
 * time 以毫秒为单位,自1970 年 1月 1 日 0:00:00 到如今的毫秒值
 */
public class Main {
    public static void main(String[] args) {
        //抽象类 Calendar的实例化 ;返回一个默认时区(Asia/shanghai)和语言环境的日历
        Calendar date = Calendar.getInstance();
        System.out.println("date >> " + date);
        //1为实例字段设置年 月 日
        date.set(Calendar.YEAR,2024);
        date.set(Calendar.MONTH,3);
        date.set(Calendar.DAY_OF_MONTH,12);
        System.out.println("date >> " + date);
        //2直接赋值
        date.set(2024,Calendar.APRIL,12);
        //3通过Date赋值
        Date dd = new Date();
        date.setTime(dd);
        System.out.println("date >> " + date);
        System.out.println("-----------");
        //获取具体字段的值
        int year = date.get(Calendar.YEAR);
        int month = date.get(Calendar.MONTH);
        int dayOfMonth = date.get(Calendar.DAY_OF_MONTH);
        int dayOfWeek = date.get(Calendar.DAY_OF_WEEK);
        long ms = date.getTimeInMillis();
        System.out.println("year >> " +year);
        System.out.println("month (month + 1)>> " +month);
        System.out.println("dayOfMonth >> " + dayOfMonth);
        System.out.println("dayOfWeek(星期日 : 1) >> " + dayOfWeek );
        System.out.println("ms(1970 年 1月 1 日 0:00:00至现在) >> " + ms + "ms");
        System.out.println("-----------");
        //时间的计算;为给定的日历字段添加或减去指定的时间量。
        date.add(Calendar.DAY_OF_WEEK,1);
        date.add(Calendar.DAY_OF_WEEK,-1);
        System.out.println("dayOfWeek >> " + dayOfWeek);
        //时间先后比较
        Calendar date2 = Calendar.getInstance();
        date2.set(2024,Calendar.APRIL,13);
        Calendar date3 = Calendar.getInstance();
        date3.set(2024,Calendar.APRIL,11);
        boolean flag1 = date.before(date2); // true
        boolean flag2 = date.after(date3); // true
        System.out.println("date在date2前 >> " + flag1);
        System.out.println("date在date3后 >> " + flag2);
        System.out.println("-----------");
        //日期格式化对象 格式化输出自定义输出pattern (Date)
        Date d = date.getTime();
        //年:y; 月 :M ;日 : d;时 :H;分 :mm; 秒 :s; 毫秒 : ms;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String sd = sdf.format(d);
        System.out.println("d >> " + sd);
        System.out.println("-----------");
    }
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值