博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习:日期的运算
阅读量:5933 次
发布时间:2019-06-19

本文共 2204 字,大约阅读时间需要 7 分钟。

java.util.Date下的很多(构造)方法,已经被标识为"过时"方法,官方推荐使用Calendar类来处理日期的运算,下面是示例:

import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; public class HelloWorld {        public static void main(String[] args) {    	    	//指定时间输出格式    	SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");               Date dt = new Date();        System.out.println("当前时间:" + sdf.format(dt));                Calendar rightNow = Calendar.getInstance();        rightNow.setTime(dt);                        rightNow.add(Calendar.YEAR,-1);//当时日期减1年        System.out.println("减1年:" + sdf.format(rightNow.getTime()));                rightNow.add(Calendar.MONTH,3);//(在刚才的结果上)再加3个月        System.out.println("再加3个月:" + sdf.format(rightNow.getTime()));                rightNow.add(Calendar.DAY_OF_YEAR,10);//(在刚才的结果上)再加10天                System.out.println("再加10天:" + sdf.format(rightNow.getTime()));            }}

  输出结果:

当前时间:2013-02-21 09:40:49

减1年:2012-02-21 09:40:49
再加3个月:2012-05-21 09:40:49
再加10天:2012-05-31 09:40:49

----------------------------------------------

如果要将某个日期中的 各部分(比如:年、月、日、星期...) 拆解出来,也很容易:

1         Date dt = new Date();         2         Calendar calendar = Calendar.getInstance(); 3         calendar.setTime(dt);      4            System.out.println("当前日期:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dt));//当前日期:2013-02-28 16:22:37 5         System.out.println("年:" + calendar.get(Calendar.YEAR));//年:2013 6         System.out.println("月:" + (calendar.get(Calendar.MONTH)+1));//月:2 -注:月份是从0开始的 7         System.out.println("日:" + calendar.get(Calendar.DATE));//日:28 8         System.out.println("时(12小时制):" + calendar.get(Calendar.HOUR));//时:4(12小时制) 9         System.out.println("时(24小时制):" + calendar.get(Calendar.HOUR_OF_DAY));//时:16(24小时制)10         System.out.println("分:" + calendar.get(Calendar.MINUTE));//分:3011         System.out.println("秒:" + calendar.get(Calendar.SECOND));//秒:1912         System.out.println("本月第" + calendar.get(Calendar.WEEK_OF_MONTH) + "周");//本月第5周13         System.out.println("本年第" + calendar.get(Calendar.WEEK_OF_YEAR) + "周");//本年第9周

 

附:各种时间format掩码格式可参考 https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

转载地址:http://ydctx.baihongyu.com/

你可能感兴趣的文章
ssd运行过程中遇到的bug
查看>>
【NLP】Stanford
查看>>
【Python】Python中in与not in
查看>>
java io性能分析
查看>>
封装自己DB
查看>>
BZOJ4739 : 定向越野
查看>>
JSON的三种解析方式
查看>>
html5--2.10综合实例2-移动端页面练习
查看>>
adb安装启动Touch校正软件
查看>>
英语日常词汇:living-room、dining-room vs dining hall
查看>>
java线程-synchronized实现可见性代码
查看>>
javascript提取联通个人信息和通话记录的代码
查看>>
049——VUE中使用animation与transform实现vue的动画效果
查看>>
Mac 使用自带的Ruby 安装brew
查看>>
Node.js 安装及环境配置之 Windows 篇
查看>>
关于ASP .NET Core在跨平台的linux ubuntun,SUSE ,Mac OS的发布的相关平台操作
查看>>
从密码到token, 一个授权的故事 auth2.0
查看>>
PHP常量
查看>>
SQL Server 事务复制分发到订阅同步慢
查看>>
04-maven学习-pom.xml解析
查看>>