首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java系统时间

Java系统时间
EN

Stack Overflow用户
提问于 2012-04-28 16:38:38
回答 2查看 6.1K关注 0票数 1

我从SO中的一个问题中复制了以下代码:

代码语言:javascript
复制
public static String getCurrentTimeStamp() {
  SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  Date now = new Date();
  String strDate = sdfDate.format(now);
  return strDate;
}

我只想获得系统时间,而不是日期。然后,我必须将第二行代码更改为:

代码语言:javascript
复制
SimpleDateFormat sdfDate = new SimpleDateFormat(" HH:mm:ss") ; 

然后,DATE()必须获取当前时间。到目前为止没有问题,但是我不能理解所使用的format()函数。我的意思是,我们不能简单地输出变量now而不是strdate吗?是不是因为函数getCurrentTimeStamp()的返回类型是String?

请澄清,如果有任何其他更简单的代码来单独获得系统时间,请一定要分享。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-28 16:41:21

我的意思是,我们现在不能简单地输出变量而不是

你可以返回now.toString() --但是这将使用Date.toString()恰好选择的格式,而你想要一个特定的格式。在本例中,SimpleDateFormat对象的作用是将Date (这是一个时间点,不引用任何特定的日历或时区)转换为String,并应用适当的时区、日历系统和文本格式(在本例中为HH:mm:ss)。

不过,您仍然可以通过删除局部变量(每个变量只使用一次)来稍微简化您的方法:

代码语言:javascript
复制
public static String getCurrentTimeStamp() {
    return new SimpleDateFormat("HH:mm:ss").format(new Date());
}

或者,您可能会发现保留日期格式的变量而不是日期和返回值的可读性更好:

代码语言:javascript
复制
public static String getCurrentTimeStamp() {
    DateFormat format = new SimpleDateFormat("HH:mm:ss");
    return format.format(new Date());
}

就我个人而言,我建议您改用Joda Time --它是一个更好的日期/时间应用编程接口,而且它的格式化是线程安全的,所以您可以轻松地保留对单个格式化对象的引用。

票数 7
EN

Stack Overflow用户

发布于 2012-04-28 17:19:17

代码语言:javascript
复制
public static String getCurrentTimeStampwithTimeOnly() {
    return new SimpleDateFormat("HH:mm:ss").format(new Date());
}

帮助你做到这一点。

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

https://stackoverflow.com/questions/10361955

复制
相关文章

相似问题

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