Java中获取前一天和后一天时间
来源:互联网 发布:mac音频剪辑软件 编辑:程序博客网 时间:2024/05/17 07:53
http://blog.csdn.net/jiangwei0910410003/article/details/18978441
今天在开发项目的时候遇到一个问题就是怎么获取当前时间的前一天和后一天,这个实现的逻辑并不复杂,自己要写的话的也不是难事,但是貌似感觉没必要自己写这样的方法,想想Java中的Calendar类应该有这样的方法,所以上网查了相关的资料,有两个方法:分别是set和roll方法,这两个方法的具体使用方法如下:
- package com.java.demo;
- import java.util.Calendar;
- public class DateUtil {
- public static void main(String[] args){
- //当前时间
- Calendar cl = setCalendar(2014,01,01);
- System.out.print("当前时间:");
- printCalendar(cl);
- //前一天
- cl = setCalendar(2014,01,01);
- getBeforeDay(cl);
- System.out.print("前一天:");
- printCalendar(cl);
- //后一天
- cl = setCalendar(2014,01,01);
- getAfterDay(cl);
- System.out.print("后一天:");
- printCalendar(cl);
- }
- /**
- * 设置时间
- * @param year
- * @param month
- * @param date
- * @return
- */
- public static Calendar setCalendar(int year,int month,int date){
- Calendar cl = Calendar.getInstance();
- cl.set(year, month-1, date);
- return cl;
- }
- /**
- * 获取当前时间的前一天时间
- * @param cl
- * @return
- */
- private static Calendar getBeforeDay(Calendar cl){
- //使用roll方法进行向前回滚
- //cl.roll(Calendar.DATE, -1);
- //使用set方法直接进行设置
- int day = cl.get(Calendar.DATE);
- cl.set(Calendar.DATE, day-1);
- return cl;
- }
- /**
- * 获取当前时间的后一天时间
- * @param cl
- * @return
- */
- private static Calendar getAfterDay(Calendar cl){
- //使用roll方法进行回滚到后一天的时间
- //cl.roll(Calendar.DATE, 1);
- //使用set方法直接设置时间值
- int day = cl.get(Calendar.DATE);
- cl.set(Calendar.DATE, day+1);
- return cl;
- }
- /**
- * 打印时间
- * @param cl
- */
- public static void printCalendar(Calendar cl){
- int year = cl.get(Calendar.YEAR);
- int month = cl.get(Calendar.MONTH)+1;
- int day = cl.get(Calendar.DATE);
- System.out.println(year+"-"+month+"-"+day);
- }
- }
是通过set方法进行设置的时间的效果图:
通过效果图我们可以看到,set方法获取前一天和后一天的时间是没有任何问题的。下面再来看一下roll方法获取前一天和后一天的时间的效果图:
我们发现在获取前一天的时间的时候出现问题了,就是2014-01-01获取前一天是2014-01-31,由此我们可以看到,roll方法在获取前一天和后一天的时候并不是级联改动的,只会修改当前的day,而不会考虑year和month,当然他在修改day的时候是一个循环的修改,如:1月份是:1-31,就是一个循环。
通过上面的分析我们看到了set方法和roll方法的却别了。
1 0
- Java中获取前一天和后一天时间
- Java中获取前一天和后一天时间
- Java中获取前一天和后一天时间
- java Calendar类获取时间的前一天和后一天
- java日期获取前一天和后一天
- java日期获取前一天和后一天
- java日期获取前一天和后一天
- mysql获取当前时间,前一天,后一天
- mysql获取当前时间,前一天,后一天
- mysql获取当前时间,前一天,后一天
- java 已知一个Date(),获取前一天和后一天
- java 已知一个Date(),获取前一天和后一天
- java 已知一个Date(),获取前一天和后一天
- java获取指定日期前一天和后一天的日期
- java获取当前日期前一天和后一天
- java 时间对比,前一天还是后一天
- [前端] 获取前一天和后一天
- js获取前一天和后一天格式化
- android 完美退出应用程序。
- 活动图(Activity diagram)——UML之图四
- 在silverlight中通过WCF连接ORACLE DB数据库
- TextView改变部分字体的大小和颜色
- [转]Wait-Notify机制
- Java中获取前一天和后一天时间
- git生成patch以及am patch
- VCR,DVR与NVR的区别
- 判断是否为英文字母
- java静态变量 实例变量 非静态代码块 静态代码块
- 同步与原子性
- unbuntu12.04 搭建svn
- C++类构造函数初始化列表
- HTML5,让 Ajax 改变 URL 且支持后退