我们的一位客户希望能够输入年份组件只有2位数的日期.该日期将在过去,因此如果2位数年份在当前年份之后,我们希望它在上个世纪工作,但如果2位数年份等于或小于当前年份,则工作在本世纪.
截至今天10/30/2008
01/01/01 = 01/01/2001
01/01/09 = 01/01/1909
这是一个奇怪的要求,我解决了这个问题,我只是不喜欢我的解决方案.感觉有更好的方法来做到这一点.
谢谢您的帮助.
public static String stupidDate(String dateString)
{
String twoDigitYear = StringUtils.right(dateString, 2);
String newDate = StringUtils.left(dateString, dateString.length() - 2);
int year = NumberUtils.toInt(twoDigitYear);
Calendar c = GregorianCalendar.getInstance();
int centuryInt = c.get(Calendar.YEAR) - year;
newDate = newDate + StringUtils.left(Integer.toString(centuryInt), 2) + twoDigitYear;
return newDate;
}
Run Code Online (Sandbox Code Playgroud) 我试图String用"dd-MM-yy"格式解析一个Date对象.问题在于它试图猜测日期的世纪.
当从01到31指定时,年份被解释为2000s(21世纪),32 t0 99被认为是1900年代(20世纪).
SimpleDateFormat fm =new SimpleDateFormat("dd-MM-yy");
String datestr="21-11-31";
try {
Date date= fm.parse(datestr);
System.out.println(date);
} catch (ParseException e) {
}
Run Code Online (Sandbox Code Playgroud)
谁能帮我?我怎么能说明我只是整整地在21世纪工作.我并没有完全试图寻找操纵字符串或根据条件移动日期的技巧.
我已搜索但未找到解析字符串的确切格式(YY/MM/DD).
如何将YY/MM/DD类型的字符串转换为java.util.Date.我有格式为"160310","160211"的字符串.
我从机器可读代码中获取日期格式为 YYMMDD,如何将其更改为 YYYY-MM-DD ?例如,我收到 871223(YYMMDD) 我想将其更改为 1987-12-23(YYYY-MM-DD) 可能吗?有人可以帮我一些示例代码吗?