当前位置: 首页 > 知识库问答 >
问题:

为什么SimpleDataFormat不应用指定的日期模式?[副本]

房泉
2023-03-14

我有以下代码来格式化日期,但输出与模式不匹配。

try{
        String date = "2014-11-1T12:14:00";
        Date convertedDate = new SimpleDateFormat("yyyy-MM-dd").parse(date);
        System.err.println(convertedDate.toString());
        }catch(ParseException p){
            System.err.println(p.getMessage());
        }

输出

Sat Nov 01 00:00:00 EST 2014

共有2个答案

龙骏
2023-03-14

对于您在下面的对话中所描述的内容,您可以简单地执行以下操作:

System.err.println((new SimpleDateFormat("yyyy-MM-dd")).format(convertedDate));
刘和正
2023-03-14

我想你是在问为什么你没有时间,因为你的格式没有包含时间。我建议您在调用DateFormat(日期)时使用“yyyyy-MM-dd'T'HH:MM:ss”来匹配您的输入和,

try {
  String date = "2014-11-1T12:14:00";
  Date convertedDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(date);
  System.out.println(convertedDate.toString());
  // Per your comment you wanted to `format()` it like -
  System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(convertedDate));
} catch (ParseException p) {
  System.err.println(p.getMessage());
}
 类似资料:
  • Safari不接受我输入的时间格式,原因是什么? 我找到了解决办法;

  • 我输入的日期像。日期是由谷歌语音转文本服务构建的。 要将此日期格式化为不同的格式,我将使用下一段代码: 我更愿意避免添加额外的逻辑和改进输入数据的日期模式。正是在这一步,我需要帮助(我在java文档中找不到正确的解决方案)。 所以我希望得到格式化程序的更正或确认,java不支持日期可以是、等等的标准。

  • 我正在用迅捷的语言工作。我不知道这个< code > 2020-07-23t 00:17:06.000 z 的日期格式。 我想按照该格式将转换为 我该怎么办?先谢谢你…

  • 我需要使用日期模式“yyyy-MM-dd”从输入字符串中解析一个日期,如果日期将以任何其他格式出现,则抛出一个错误。 这是我解析日期的一段代码: 当我在myDate中输入“2011-06-12”这样的字符串时,我将得到输出“2011年9月29日星期四00:00:00 EEST”,这很好。 当我发送了一个不正确的字符串,比如“2011-0612”,我得到了预期的错误。 当我试图传递一个仍然有两个“连

  • 我读过,x86的INC指令不是原子指令。我的问题是为什么会这样?假设我们在x86-64上递增一个64位整数,我们可以用一条指令来递增,因为INC指令同时处理内存变量和寄存器。那么为什么它不是原子的呢?