java获取Date类型时间的前后N小时、天、周、月、年

 使用Calendar

set(int field ,int value):

  • 用来设置“年/月/日/小时/分钟/秒/微秒”等值。

add(int field,int amount):

  • add可以对Calendar的字段进行计算。如果需要减去值,可以使用负数。
getTime()
  • 获取设置的日期
public class DateTest {

    public static void main(String[] args) {
        Calendar instance = Calendar.getInstance();
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //设置当前时间
        instance.setTime(date);
        System.out.println("当前时间: 「 " + format.format(date) + "」");
        //前3个小时
        instance.setTime(date);
        instance.add(Calendar.HOUR,-3);
        System.out.println("往前三个小时: 「 " + format.format(instance.getTime()) + "」");
        //前5天
        instance.setTime(date);
        instance.add(Calendar.DATE,-5);
        System.out.println("往前5天: 「 " + format.format(instance.getTime()) + "」");
        //往前一周
        instance.setTime(date);
        instance.add(Calendar.WEEK_OF_MONTH,-2);
        System.out.println("往前2周: 「 " + format.format(instance.getTime()) + "」");
        //前4月
        instance.setTime(date);
        instance.add(Calendar.MONTH,-4);
        System.out.println("往前4个月: 「 " + format.format(instance.getTime()) + "」");
        //前1年
        instance.setTime(date);
        instance.add(Calendar.YEAR,-1);
        System.out.println("往前1年: 「 " + format.format(instance.getTime()) + "」");
        //后三个小时
        instance.setTime(date);
        instance.add(Calendar.HOUR,3);
        System.out.println("往后3小时: 「 " + format.format(instance.getTime()) + "」");
        //后7天
        instance.setTime(date);
        instance.add(Calendar.DATE,7);
        System.out.println("往后7天: 「 " + format.format(instance.getTime()) + "」");
        //后3个月
        instance.setTime(date);
        instance.add(Calendar.MONTH,3);
        System.out.println("往后3个月: 「 " + format.format(instance.getTime()) + "」");
        //后4年
        instance.setTime(date);
        instance.add(Calendar.YEAR,4);
        System.out.println("往后4年: 「 " + format.format(instance.getTime()) + "」");
    }
}

 

总结 

  1. 先使用instance.setTime()方法设值
  2. 再使用instance.add(int field,int amount)设置想要获取的时间,field 枚举值,amount 正数为,负数往

        

Calendar常用枚举值说明
Calendar.HOUR
小时
Calendar.DATE
Calendar.WEEK_OF_MONTH
每月的周
Calendar.MONTH
Calendar.YEAR
Calendar.DAY_OF_MONTH
每月的天数

     3.使用instance.getTime()获取设置后的时间

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值