首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getTimeInMilis()和.getTime().getTime()有什么区别?

getTimeInMilis()和.getTime().getTime()有什么区别?
EN

Stack Overflow用户
提问于 2016-06-01 12:25:49
回答 3查看 2.6K关注 0票数 4

假设我有一个Calendar对象c。这一行的结果是什么:

代码语言:javascript
复制
c.getTimeInMilis();

代码语言:javascript
复制
c.getTime().getTime();
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-01 12:34:39

从表面上看,它们是相同的。

但是我会选择第一个,因为它不会创建(显式) java.util.Date临时的。

c.getTimeInMilis();也更具有描述性。

就我个人而言,我不喜欢Java中的“链式”函数语句(比如a.b().c().d();),因为它们往往是NullPointerException可能性潜伏的地方。

票数 2
EN

Stack Overflow用户

发布于 2016-06-01 12:41:36

就在甲骨文的日历 API中

getTime()

返回一个日期对象,该对象表示此日历的时间值(与时代的毫秒偏移“)。

代码语言:javascript
复制
   // create a calendar
   Calendar cal = Calendar.getInstance();

   // print current time
   System.out.println(" Current time is : " + cal.getTime());

打印当前时间是:2016年美国东部时间08年6月31日:51:58

getTimeInMillis()

返回此日历的时间值(毫秒)。

代码语言:javascript
复制
   // create a calendar
   Calendar cal = Calendar.getInstance();

   // print current time in milliseconds
   System.out.println("Current time is : " + cal.getTimeInMillis());

打印当前时间为: 1464785518706

票数 2
EN

Stack Overflow用户

发布于 2016-06-01 13:13:10

Java源代码是可用的。http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Calendar.java#Calendar.getTime%28%29

Calendar.getTime():

代码语言:javascript
复制
public final Date getTime() {
    return new Date(getTimeInMillis());
}

Calendar.getTimeInMillis():

代码语言:javascript
复制
public long getTimeInMillis() {
    if (!isTimeSet) {
        updateTime();
    }
    return time;
}

因此,myCalendar.getTime()只是new Date(myCalendar.getTimeInMillis())的捷径。

..。myCalendar.getTime().getTime()是(深呼吸!)的捷径:

代码语言:javascript
复制
new Date(myCalendar.getTimeInMillis()).getTime();

..。这是获取相同long的一种漫长而低效的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37568616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档