gpt4 book ai didi

java - 使 Java DateFormat 适用于较短的值

转载 作者:行者123 更新时间:2023-12-01 10:44:11 24 4
gpt4 key购买 nike

我有一个程序,可以在程序开始时一次性从用户那里读取日期格式,例如yyyy/MM/dd HH:mm:ss a

稍后,程序解析文件并对文件中的所有日期使用日期格式。但最近我得到一个文件,其中 99% 的日期是 2014/09/01 12:00:04 AM 所以用户可以输入 yyyy/MM/dd HH:mm:ss一个

但是该文件中的一个日期只是 2014/09/01,其中日期格式 yyyy/MM/dd HH:mm:ss a 失败。

为什么不能yyyy/MM/dd HH:mm:ss a格式化较短的日期,例如yyyy/MM/dd格式。

我想要的是java程序使用格式yyyy/MM/dd HH:mm:ss a来解析以下两个日期:

  1. 2014/09/01 12:00:04 上午
  2. 2014/09/01

谢谢

最佳答案

您必须使用两种格式。检查下面的示例

DateFormat df = new DateFormat() {
static final String FORMAT1 = "yyyy/MM/dd HH:mm:ss";
static final String FORMAT2 = "yyyy/MM/dd";
final SimpleDateFormat sdf1 = new SimpleDateFormat(FORMAT1);
final SimpleDateFormat sdf2 = new SimpleDateFormat(FORMAT2);

@Override
public StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition) {
return null;
}

@Override
public Date parse(String source, ParsePosition pos) {
if (source.length() - pos.getIndex() == FORMAT1.length())
return sdf1.parse(source, pos);
return sdf2.parse(source, pos);
}
};
System.out.println(df.parse("2014/09/01 12:00:04 AM"));
System.out.println(df.parse("2014/09/01"));

关于java - 使 Java DateFormat 适用于较短的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34281971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com