我有一个表示 法语 语言环境中日期的字符串:08-oct-08:
我需要 解析 该String,所以我想到了这个SimpleDateFormat:
String format2 = "dd-MMM-yy";
但是我对月份部分有问题,这似乎应该以结束点表示:
df2.format(new Date());
给我 :
28-oct.-09
现在让我理解SimpleDateFormat(“ 09-oct-08”)的最佳方法是什么?
完整代码:
String format2 = "dd-MMM-yy";
DateFormat df2 = new SimpleDateFormat(format2,Locale.FRENCH);
date = df2.parse("09-oct-08");
这给了我:java.text.ParseException:无法解析的日期:“ 09-oct-08”
如果我然后尝试登录:
df2.format(new Date());
我得到:09年10月28日
这似乎可行:
DateFormatSymbols dfsFr = new DateFormatSymbols(Locale.FRENCH);
String[] oldMonths = dfsFr.getShortMonths();
String[] newMonths = new String[oldMonths.length];
for (int i = 0, len = oldMonths.length; i < len; ++ i) {
String oldMonth = oldMonths[i];
if (oldMonth.endsWith(".")) {
newMonths[i] = oldMonth.substring(0, oldMonths[i].length() - 1);
} else {
newMonths[i] = oldMonth;
}
}
dfsFr.setShortMonths(newMonths);
DateFormat dfFr = new SimpleDateFormat(
"dd-MMM-yy", dfsFr);
// English date parser for creating some test data.
DateFormat dfEn = new SimpleDateFormat(
"dd-MMM-yy", Locale.ENGLISH);
System.out.println(dfFr.format(dfEn.parse("10-Oct-09")));
System.out.println(dfFr.format(dfEn.parse("10-May-09")));
System.out.println(dfFr.format(dfEn.parse("10-Feb-09")));
编辑:看起来圣影子击败了我。
问题内容: 我用来格式化字符串中的日期。但是现在它混合了月份和日期。 我有一个包含的字符串。后 它返回: 我希望它会回来 我怎样才能告诉代码格式是? 作为记录,将按预期解析为。 问题答案: 指定: 在日期格式不明确的情况下(例如,当日期为12或更少时),这将优先使用DD-MM-YYYY格式而不是MM-DD- YYYY。该功能在此处记录。
问题内容: 我正在尝试计算自特定日期起经过的月份,但如果我将今天的日期与过去的年份不同,则该函数可以使我有一个月的差异(少于一个月),因此该函数可以正常工作。 说出所有日期,该功能运行良好,但以下情况除外: 如果今天是“ 2014-03-06”(YYYY,MM,DD),并且我将函数的日期处理为“ 2006-03-06”,则结果要短一个月,但是如果明天使用相同的日期,结果很好。我要去哪里错了。下面是
下面是查询
运行下面列出的代码时,我看到以下错误: 线程“main”java中出现异常。时间总体安排DateTimeParseException:无法在java的索引4处分析文本“2017年9月21日星期四23:47:03 EDT”。时间总体安排DateTimeFormatter。java上的parseResolved0(未知源)。时间总体安排DateTimeFormatter。在java上解析(未知源)。时
我在尝试从按日期筛选的表中选择数据时遇到了一个问题。 例如: null 此选择的结果是:
我想在JavaScript中解析没有时区的日期。我试过: