Java中Date类型如何向前向后滚动时间,( 附工具类…
2018-06-18 00:04:11来源:未知 阅读 ()
Java中的Date类型向前向后滚动时间(附工具类)
废话不多说,先看工具类:
1 import java.text.SimpleDateFormat; 2 import java.util.Calendar; 3 import java.util.Date; 4 5 public class DateRoll { 6 7 /** 8 * Date类型向前向后滚动固定时长 9 * 10 * @param date 11 * 调整前的时间对象 12 * @param i 13 * 需要滚动哪一个字段,写法: 年->Calendar.YEAR 月->Calendar.MONTH 14 * 日->Calendar.DATE 时->Calendar.HOUR_OF_DAY(24小时制) 15 * 分->Calendar.MINUTE 秒->Calendar.SECOND 毫秒->Calendar.MILLISECOND 16 * @param d 17 * 滚动多少,向前(以前)就用负数,向后(未来)就用正数 18 */ 19 public static Date dateRoll(Date date, int i, int d) { 20 // 获取Calendar对象并以传进来的时间为准 21 Calendar calendar = Calendar.getInstance(); 22 calendar.setTime(date); 23 // 将现在的时间滚动固定时长,转换为Date类型赋值 24 calendar.add(i, d); 25 // 转换为Date类型再赋值 26 date = calendar.getTime(); 27 return date; 28 } 29 30 public static void main(String[] args) { 31 System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") 32 .format(new Date())); 33 System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") 34 .format(dateRoll(new Date(), Calendar.SECOND, 1))); 35 } 36 }
1 java中处理时间的类有2个,一个是大家熟知的java.util.Date类,另一个是java.util.Calendar,那么他们有什么区别呢,在早期的java中并没有Calendar类,后来人们发现了Date类的诸多bug,比如在向前回滚时间的时候,如果是2018-1-2回滚5天就变成了2018-12-28,很明显这是不对的,不过因为java出现早期定下的规定,JDK开发人员并没有直接在Date类里面修改,而是加入了更加完善的Calendar类Calendar经过长时间的实际使用,的确是已经证明它的完备性,Calendar还提供了与Date之间的转换,本文中的滚动方法也是基于这种想法实现的,
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash