首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SimpleDateFormat

使用SimpleDateFormat
EN

Stack Overflow用户
提问于 2013-10-18 13:29:21
回答 4查看 603关注 0票数 0

我试图使用简单的日期格式来格式化当前时间:

代码语言:javascript
复制
    SimpleDateFormat sdf =  new SimpleDateFormat("yyyy/MM/dd"); 
    Date now = new Date(System.currentTimeMillis());
    try {
        java.util.Date formattedDate = sdf.parse(now.toString());
        System.out.println(formattedDate.toString());
    } catch (ParseException e) {
        e.printStackTrace();
    }

然而,我得到的输出是:

代码语言:javascript
复制
Fri Oct 18 00:00:00 CDT 2013

我正在努力实现:

代码语言:javascript
复制
2013/08/18

我做错了什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-18 13:30:23

您正在解析您的Date,而不是用您的SimpleDateFormat对其进行格式化。Date#toString() 方法有自己的输出格式,则使用SimpleDateFormat

代码语言:javascript
复制
System.out.println(sdf.format(formattedDate));
票数 1
EN

Stack Overflow用户

发布于 2013-10-18 13:30:39

您必须使用SimpleDateFormat#format(日期)方法,它返回以所需方式格式化的日期。注意,此方法是从DateFormat继承的。

代码语言:javascript
复制
SimpleDateFormat sdf =  new SimpleDateFormat("yyyy/MM/dd"); 
Date now = new Date(System.currentTimeMillis());
String formattedDate = sdf.format(now);
System.out.println(formattedDate);
票数 2
EN

Stack Overflow用户

发布于 2013-10-18 13:33:15

  1. 你不需要打电话给parse
  2. 你不需要尝试/抓住

试试下面这个简单得多的代码:

代码语言:javascript
复制
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); 
String formattedDate = sdf.format(new Date());
System.out.println(formattedDate);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19450924

复制
相关文章

相似问题

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