JAVA中跟时间有关的一些操作

JAVA跟时间有关的一些操作

1.获取当前时间

Date d = new Date();
System.out.println(d);
Sat Feb 22 21:47:58 CST 2020

如上输出的时间不太直观,可以改为如下写法:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = new Date();
System.out.println(sdf.format(d));
运行结果:2020-02-22

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
是设置时间的格式,yyyy代表四位年份,MM是两位月份,dd是两位号数。

2.间隔天数

	String a="1997-06-06";
	String b="2020-02-22";
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	int day = (int)((sdf.parse(b).getTime() - sdf.parse(a).getTime()) / (1000 * 60 * 60 * 24));
	System.out.println(day);
	运行结果:8296

其中getTime() 方法获取毫秒值。

24小时*一小时60分钟*一分钟60*一秒1000毫秒。

3.间隔月数

    String a="2019-01-06";
	String b="2020-02-22";
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	
	int year1 = sdf.parse(a).getYear();
	int month1 = sdf.parse(a).getMonth();
	
	int year2 = sdf.parse(b).getYear();
	int month2 = sdf.parse(b).getMonth();
	
	int month = year1*12+month1-(year2*12+month2);
	System.out.println(month);
	运行结果:13

4.N天前或N天后是几号

   Calendar c1 = Calendar.getInstance();
	SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
	c1.add(Calendar.DATE, 10);
	String sj = sdf1.format(c1.getTime());
	System.out.println(sj);

此处是用到Calendar的add() 方法, void add(int field, int amount):
field是指对哪个时间(年:Calendar.YEAR 月:Calendar.MONTH 日:Calendar.DATE)改变,amount是改变的大小,如果是N天前,amount是负数,如-3就是3天前,N天后就是正数,如3,就是指3天后。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值