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

日期格式解析java

帅德惠
2023-03-14

我想以yyyy-mm-dd格式存储今天的日期。在存储之前,我将今天的日期格式化,并再次解析格式化后的字符串。它以不同于我想要的格式给出了输出日期。我如何获得日期,将其格式化为' yyyy-mm-dd '并再次将其转换为日期,并希望输出格式为' yyyy-mm-dd '。请找到下面的代码,告诉我哪里错了

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date = new java.util.Date();
java.util.Date date1;
String datestring=dateFormat.format(date);

try {           
    date1=dateFormat.parse(datestring);
    System.out.print(date1);
} catch (ParseException ex) {
     Logger.getLogger(accordcclass.class.getName()).log(Level.SEVERE, null, ex);
}

我得到的上述代码的输出是星期四 Mar 07 00:00:00 GMT 2013.但我希望输出为 2013-01-07

共有3个答案

苏选
2023-03-14

您正在使用DateFormat来格式化和重新解析。

不需要重新解析。只需使用DateFormat来格式化。

  DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  java.util.Date date = new java.util.Date();
  String datestring=dateFormat.format(date);
  System.out.println( datestring );
顾池暝
2023-03-14

不要使用Date对象进行打印,直接使用您的datestringvariable。使用Date调用toString,它将使用 Locale格式化。

编辑:补充说明,如果您想用一种格式存储< code>Date变量,这种方式是行不通的。< code>Date不包含格式,它只表示时间。如果您希望它不同于当前的< code>Locale格式,那么您需要在GUI、控制台或任何其他地方指定它的显示方式。

叶鸿
2023-03-14

我有同样的问题,这就是我所做的:

DateFormat inputDateFormat = new SimpleDateFormat("dd-MMM-yyyy HH:mm");
DateFormat outputDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
System.out.println(outputDateFormat.format(inputDateFormat.parse("09-SEP-2013 10:00")));

这样,我就可以以原始格式解析日期,并以数据库兼容格式输出。

有可能使用PreparedStatement作为之前提到的人,但我不想这样做。

 类似资料:
  • 在使用date格式自动设置为IE后,我试图解析某个包含日期条目为纪元数值的json文档。我需要不同的格式(也需要一毫秒) 所以问题是,如何解析IE。转换为带有Bson文档的某种自定义格式字符串。解析方法? 编辑:只是一个更新:问题在document.parse方法中,因为我不知道如何在解析json文档时使用tell.parse函数来使用自定义的日期格式。我总是得到某种默认的日期格式。如何发送给.p

  • 我需要按照格式解析日期,但它没有很好地工作。 我需要日期对象在07/06/2013格式,即使日期是任何格式。但parse方法总是在2013年6月7日00:00:00 PKT星期五返回。

  • 我正在尝试将DatePicker日期格式化为简单的数据格式(“yyyy-MM-dd HH: mm: ss Z”)。有人告诉我,我需要使用简单的数据格式将其解析为日期对象-简单的数据格式(“yyyy-MM-dd”),然后将其格式化为我需要的内容,如下所示。但是,我在尝试捕捉块中收到错误“重复局部变量eDate”。任何专家都可以查看我的代码并提出建议吗? 已更新

  • 问题内容: 我想解析日期字符串,例如使用格式。但是我有一个例外。 问题答案: 您的解析字符串不正确,正如别人提到的那样 要正确解析,您需要使用英语语言环境,否则,如果您的默认语言环境不是英语,则可能会失败 DateFormat df = new SimpleDateFormat(“MMM dd, yyyy”, Locale.ENGLISH); Date dt = df.parse(“Februar

  • 问题内容: 我必须在Java中使用自定义日期格式。尽管Java不提供对微秒的支持,但它包含微秒。因此,我用零填充了时间模式,在格式化时它可以很好地工作,但是我无法使用该模式解析日期字符串。 有没有简单的解决方法,还是我必须自己处理微秒(使用String函数)? java.text.ParseException:无法解析的日期:“ 2010-01-25-12.40.35.769000” 问题答案:

  • 这是一个示例文档 我数到50999 当我为匹配条件添加日期字段时,如下所示,我没有得到任何值。 DBObject火柴=new BasicDBObject();match.put("data.type","score.type");match.put("body.name", new BasicDBObject("$存在",1));match.put("时间戳","2014-09-03T22:07: