当前位置: 首页 > 面试题库 >

日期值格式错误

卢骏俊
2023-03-14
问题内容

我在解析我的代码中的平面文件后,试图转换DateTime作为文件存在于平面文件中的String 值Date

我已经写了代码来做到这一点,但是当我格式化日期时,它总是给我一个指定日期超过1天的日期,有时它会加5:30。

以下是该代码:

    DateFormat f = new SimpleDateFormat("EEE MMM dd HH:mm:ss zz yyyy");
    Date date = f.parse("Tue Aug 23 20:00:03 PDT 2011");
    System.out.println("---date----" + date);

上面的输出是

    ---date----Wed Aug 24 08:30:03 IST 2011

您能告诉我这里是什么问题吗?我在SimplaDateFormat课堂上使用的模式有问题吗?还是代码有问题?我已经为此挠了很久。


问题答案:

您的系统时区不同。输出显示IST-或印度标准时间,与PDT相差12.5h。该代码正在正确解析给定的日期(PDT(UTC -7))并打印出IST(UTC +
5h30)。

Java将日期存储为UTC日期。因此,当您解析PDT日期时,Java会将其转换为UTC并将其内部存储为UTC时间戳。在打印时,如果未指定时区,它将默认为系统时区,在您的情况下,该时区似乎是IST。

要指定确切的时区,请在SimpleDateFormat中指定它:

DateFormat f = new SimpleDateFormat("EEE MMM dd HH:mm:ss zz yyyy");
f.setTimeZone(TimeZone.getTimeZone("PDT"));
Date date = f.parse("Tue Aug 23 20:00:03 PDT 2011");
System.out.println("---date----" + f.format(date));


 类似资料:
  • 设定年月日的排列顺序。

  • 问题内容: 我在我的角度应用程序中使用引导日期选择器。但是,当我从绑定的该日期选择器基础ng模型中选择一个日期时,该日期会更新,我希望该ng模型以一种“ MM / dd / yyyy”日期格式显示。但是每次都会这样约会 代替 我为相同的plunkr链接创建了一个plunkr 我的HTML和控制器代码如下 角度控制器 在此先感谢您审查我的问题。 更新 我在下面调用发布数据的方法,VAR是大小为900

  • 问题内容: 我想格式化为。我已经尝试了以下步骤。 但我低于例外。 我该怎么办? 问题答案: 在这里,这有效: 在您的第一个样式中删除多余的“ T” 第二种格式不正确,应为dd-MMM-yyyy。 看看SimpleDateFormat的Javadoc

  • 问题内容: 具有String str“ May 23 2011 12:20:00”,想要将其转换为这样的日期: 它始终为我提供ParseException Unparsable日期格式:“ May 23 2011 12:20:00”。 寻找类似的问题,似乎一切正确。 怎么了? 问题答案: 如果您的VM的默认语言环境不是英语,则可能需要另外指定 Locale :

  • 问题内容: 当我创建一个表并在mysql中创建类型为date的字段时,它会像0000-00-00一样存储日期。可以将格式更改为“ dm-Y”吗? 问题答案: 转到MySQL参考-10.5。数据类型存储要求 搜索: 日期和时间类型的存储要求 日期在内部存储为 但是,如果您选择 显示 日期列,则必须以 某种 方式 显示 它,因此它会以0000-00-00的形式出现。它 不会 以该特定格式存储为char

  • 我正在使用jquery datepicker,我想设置最小日期和最大日期来显示日期。我需要允许用户在最小和最大范围内选择日期。和dateformat也需要根据用户区域设置。 我有2个日期字段开始日期和结束日期。 但上面的代码在另一个本地国家/地区不能正常工作....它总是选择我的系统日期格式“MM/DD/YYYY”。 所以我尝试设置日期的格式var dateFormat=“dd.mm.yyyy”;