当前位置:  开发笔记 > 编程语言 > 正文

给定日期的System.currentTimeMillis()?

如何解决《给定日期的System.currentTimeMillis()?》经验,为你挑选了2个好方法。

由于java.util.Date基本上已被弃用,因此获取给定日期(UTC时间)的时间戳的正确方法是什么?可以与之比较的那个System.currentTimeMillis().



1> David Sykes..:

使用Calendar类,您可以在特定时区的特定时间创建时间戳.完成后,您可以获得毫秒时间戳以与以下内容进行比较:

Calendar cal = new GregorianCalendar();
cal.set(Calendar.DAY_OF_MONTH, 10);
// etc...

if (System.currentTimeMillis() < cal.getTimeInMillis()) {
  // do your stuff
}

编辑:更改为使用更直接的方法从Calendar实例获取以毫秒为单位的时间.谢谢Outlaw程序员


Calendar实际上有一个getTimeInMillis()方法,它比getTime().getTime()更直接.+1无论如何.

2> Daniel Schne..:

日期所用的许多东西的"官方"替代品是日历.不幸的是,这是相当笨拙和过度设计.您的问题可以像这样解决:

long currentMillis = System.currentTimeMillis();
Date date = new Date(currentMillis);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
long calendarMillis = calendar.getTimeInMillis();
assert currentMillis == calendarMillis;

日历也可以以不同方式初始化,甚至一次一个字段(小时,分钟,秒等).看看Javadoc.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有