- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我需要将日期解析为 11 种不同的语言。到目前为止,只有两个给我带来麻烦:德语和乌克兰语。
package com.example;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class TestDate {
private static SimpleDateFormat DATE_SDF;
public static void main(String[] args) {
// German
DATE_SDF = new SimpleDateFormat("dd MMM yyyy", Locale.GERMAN);
DATE_SDF.setLenient(false);
String[] germanDate = {"11 Jan 1970", "11 Feb 1970", "11 Mär 1970",
"11 Apr 1970", "11 Mai 1970", "11 Jun 1970",
"11 Jul 1970", "11 Aug 1970", "11 Sep 1970",
"11 Okt 1970", "11 Nov 1970", "11 Dez 1970"};
for (String germanDateIterator: germanDate) {
try {
Date parsedGermanDate = DATE_SDF.parse(germanDateIterator);
System.out.println("parsedGermanDate:" + parsedGermanDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
// Ukrainian
DATE_SDF = new SimpleDateFormat("dd MMM yyyy", new Locale("uk"));
DATE_SDF.setLenient(false);
String[] ukDate = {"11 Січ 1970", "11 Лют 1970", "11 Бер 1970",
"11 Кві 1970", "11 Тра 1970", "11 Чер 1970",
"11 Лип 1970", "11 Сер 1970", "11 Вер 1970",
"11 Жов 1970", "11 Лис 1970", "11 Гру 1970"};
for (String ukDateIterator: ukDate) {
try {
Date parsedUkDate = DATE_SDF.parse(ukDateIterator);
System.out.println("parsedUkrainianDate:" + parsedUkDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
}
这个测试的输出是:
parsedGermanDate:Sun Jan 11 00:00:00 MST 1970
parsedGermanDate:Wed Feb 11 00:00:00 MST 1970
java.text.ParseException: Unparseable date: "11 Mär 1970"
at java.text.DateFormat.parse(Unknown Source)
at com.example.TestDate.main(TestDate.java:19)
parsedGermanDate:Sat Apr 11 00:00:00 MST 1970
parsedGermanDate:Mon May 11 00:00:00 MDT 1970
parsedGermanDate:Thu Jun 11 00:00:00 MDT 1970
parsedGermanDate:Sat Jul 11 00:00:00 MDT 1970
parsedGermanDate:Tue Aug 11 00:00:00 MDT 1970
parsedGermanDate:Fri Sep 11 00:00:00 MDT 1970
parsedGermanDate:Sun Oct 11 00:00:00 MDT 1970
parsedGermanDate:Wed Nov 11 00:00:00 MST 1970
parsedGermanDate:Fri Dec 11 00:00:00 MST 1970
parsedUkrainianDate:Sun Jan 11 00:00:00 MST 1970
parsedUkrainianDate:Wed Feb 11 00:00:00 MST 1970
parsedUkrainianDate:Wed Mar 11 00:00:00 MST 1970
java.text.ParseException: Unparseable date: "11 Кві 1970"
at java.text.DateFormat.parse(Unknown Source)
at com.example.TestDate.main(TestDate.java:32)
java.text.ParseException: Unparseable date: "11 Тра 1970"
at java.text.DateFormat.parse(Unknown Source)
at com.example.TestDate.main(TestDate.java:32)
java.text.ParseException: Unparseable date: "11 Чер 1970"
at java.text.DateFormat.parse(Unknown Source)
at com.example.TestDate.main(TestDate.java:32)
parsedUkrainianDate:Sat Jul 11 00:00:00 MDT 1970
java.text.ParseException: Unparseable date: "11 Сер 1970"
at java.text.DateFormat.parse(Unknown Source)
at com.example.TestDate.main(TestDate.java:32)
parsedUkrainianDate:Fri Sep 11 00:00:00 MDT 1970
java.text.ParseException: Unparseable date: "11 Жов 1970"
at java.text.DateFormat.parse(Unknown Source)
at com.example.TestDate.main(TestDate.java:32)
java.text.ParseException: Unparseable date: "11 Лис 1970"
at java.text.DateFormat.parse(Unknown Source)
at com.example.TestDate.main(TestDate.java:32)
java.text.ParseException: Unparseable date: "11 Гру 1970"
at java.text.DateFormat.parse(Unknown Source)
at com.example.TestDate.main(TestDate.java:32)
为什么其中一些起作用而另一些不起作用?我该怎么做才能让他们全部工作?我正在使用 Java 版本“1.7.0_11”。
package com.example;
import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
public class TestDate {
public static void main(String[] args) throws IOException {
List<Locale> localeList = new ArrayList<Locale>();
localeList.add(new Locale("de"));
localeList.add(new Locale("en"));
localeList.add(new Locale("es"));
localeList.add(new Locale("fr"));
localeList.add(new Locale("it"));
localeList.add(new Locale("pt"));
localeList.add(new Locale("ru"));
localeList.add(new Locale("uk"));
localeList.add(new Locale("ko"));
localeList.add(new Locale("ja"));
localeList.add(new Locale("zh"));
for (Locale currentLocale : localeList) {
DateFormat df;
SimpleDateFormat DATE_SDF;
if (currentLocale.toString().equals("ja")) {
df = new SimpleDateFormat("MMMM", currentLocale);
DATE_SDF = new SimpleDateFormat("dd MMMM yyyy", currentLocale);
} else {
df = new SimpleDateFormat("MMM", currentLocale);
DATE_SDF = new SimpleDateFormat("dd MMM yyyy", currentLocale);
}
Calendar cal = Calendar.getInstance();
for (int i = 0; i < 12; i++) {
cal.set(Calendar.MONTH, i);
String dateString = "11 " + df.format(cal.getTime()) + " 1970";
Date parsedDate = null;
try {
parsedDate = DATE_SDF.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("parsedDate " + currentLocale + " (" + df.format(cal.getTime()) + "):" + parsedDate);
}
}
}
}
这是结果:
parsedDate de (Jan):Sun Jan 11 00:00:00 MST 1970
parsedDate de (Feb):Wed Feb 11 00:00:00 MST 1970
parsedDate de (Mrz):Wed Mar 11 00:00:00 MST 1970
parsedDate de (Apr):Sat Apr 11 00:00:00 MST 1970
parsedDate de (Mai):Mon May 11 00:00:00 MDT 1970
parsedDate de (Jun):Thu Jun 11 00:00:00 MDT 1970
parsedDate de (Jul):Sat Jul 11 00:00:00 MDT 1970
parsedDate de (Aug):Tue Aug 11 00:00:00 MDT 1970
parsedDate de (Sep):Fri Sep 11 00:00:00 MDT 1970
parsedDate de (Okt):Sun Oct 11 00:00:00 MDT 1970
parsedDate de (Nov):Wed Nov 11 00:00:00 MST 1970
parsedDate de (Dez):Fri Dec 11 00:00:00 MST 1970
parsedDate en (Jan):Sun Jan 11 00:00:00 MST 1970
parsedDate en (Feb):Wed Feb 11 00:00:00 MST 1970
parsedDate en (Mar):Wed Mar 11 00:00:00 MST 1970
parsedDate en (Apr):Sat Apr 11 00:00:00 MST 1970
parsedDate en (May):Mon May 11 00:00:00 MDT 1970
parsedDate en (Jun):Thu Jun 11 00:00:00 MDT 1970
parsedDate en (Jul):Sat Jul 11 00:00:00 MDT 1970
parsedDate en (Aug):Tue Aug 11 00:00:00 MDT 1970
parsedDate en (Sep):Fri Sep 11 00:00:00 MDT 1970
parsedDate en (Oct):Sun Oct 11 00:00:00 MDT 1970
parsedDate en (Nov):Wed Nov 11 00:00:00 MST 1970
parsedDate en (Dec):Fri Dec 11 00:00:00 MST 1970
parsedDate es (ene):Sun Jan 11 00:00:00 MST 1970
parsedDate es (feb):Wed Feb 11 00:00:00 MST 1970
parsedDate es (mar):Wed Mar 11 00:00:00 MST 1970
parsedDate es (abr):Sat Apr 11 00:00:00 MST 1970
parsedDate es (may):Mon May 11 00:00:00 MDT 1970
parsedDate es (jun):Thu Jun 11 00:00:00 MDT 1970
parsedDate es (jul):Sat Jul 11 00:00:00 MDT 1970
parsedDate es (ago):Tue Aug 11 00:00:00 MDT 1970
parsedDate es (sep):Fri Sep 11 00:00:00 MDT 1970
parsedDate es (oct):Sun Oct 11 00:00:00 MDT 1970
parsedDate es (nov):Wed Nov 11 00:00:00 MST 1970
parsedDate es (dic):Fri Dec 11 00:00:00 MST 1970
parsedDate fr (janv.):Sun Jan 11 00:00:00 MST 1970
parsedDate fr (févr.):Wed Feb 11 00:00:00 MST 1970
parsedDate fr (mars):Wed Mar 11 00:00:00 MST 1970
parsedDate fr (avr.):Sat Apr 11 00:00:00 MST 1970
parsedDate fr (mai):Mon May 11 00:00:00 MDT 1970
parsedDate fr (juin):Thu Jun 11 00:00:00 MDT 1970
parsedDate fr (juil.):Sat Jul 11 00:00:00 MDT 1970
parsedDate fr (août):Tue Aug 11 00:00:00 MDT 1970
parsedDate fr (sept.):Fri Sep 11 00:00:00 MDT 1970
parsedDate fr (oct.):Sun Oct 11 00:00:00 MDT 1970
parsedDate fr (nov.):Wed Nov 11 00:00:00 MST 1970
parsedDate fr (déc.):Fri Dec 11 00:00:00 MST 1970
parsedDate it (gen):Sun Jan 11 00:00:00 MST 1970
parsedDate it (feb):Wed Feb 11 00:00:00 MST 1970
parsedDate it (mar):Wed Mar 11 00:00:00 MST 1970
parsedDate it (apr):Sat Apr 11 00:00:00 MST 1970
parsedDate it (mag):Mon May 11 00:00:00 MDT 1970
parsedDate it (giu):Thu Jun 11 00:00:00 MDT 1970
parsedDate it (lug):Sat Jul 11 00:00:00 MDT 1970
parsedDate it (ago):Tue Aug 11 00:00:00 MDT 1970
parsedDate it (set):Fri Sep 11 00:00:00 MDT 1970
parsedDate it (ott):Sun Oct 11 00:00:00 MDT 1970
parsedDate it (nov):Wed Nov 11 00:00:00 MST 1970
parsedDate it (dic):Fri Dec 11 00:00:00 MST 1970
parsedDate pt (Jan):Sun Jan 11 00:00:00 MST 1970
parsedDate pt (Fev):Wed Feb 11 00:00:00 MST 1970
parsedDate pt (Mar):Wed Mar 11 00:00:00 MST 1970
parsedDate pt (Abr):Sat Apr 11 00:00:00 MST 1970
parsedDate pt (Mai):Mon May 11 00:00:00 MDT 1970
parsedDate pt (Jun):Thu Jun 11 00:00:00 MDT 1970
parsedDate pt (Jul):Sat Jul 11 00:00:00 MDT 1970
parsedDate pt (Ago):Tue Aug 11 00:00:00 MDT 1970
parsedDate pt (Set):Fri Sep 11 00:00:00 MDT 1970
parsedDate pt (Out):Sun Oct 11 00:00:00 MDT 1970
parsedDate pt (Nov):Wed Nov 11 00:00:00 MST 1970
parsedDate pt (Dez):Fri Dec 11 00:00:00 MST 1970
parsedDate ru (янв):Sun Jan 11 00:00:00 MST 1970
parsedDate ru (фев):Wed Feb 11 00:00:00 MST 1970
parsedDate ru (мар):Wed Mar 11 00:00:00 MST 1970
parsedDate ru (апр):Sat Apr 11 00:00:00 MST 1970
parsedDate ru (май):Mon May 11 00:00:00 MDT 1970
parsedDate ru (июн):Thu Jun 11 00:00:00 MDT 1970
parsedDate ru (июл):Sat Jul 11 00:00:00 MDT 1970
parsedDate ru (авг):Tue Aug 11 00:00:00 MDT 1970
parsedDate ru (сен):Fri Sep 11 00:00:00 MDT 1970
parsedDate ru (окт):Sun Oct 11 00:00:00 MDT 1970
parsedDate ru (ноя):Wed Nov 11 00:00:00 MST 1970
parsedDate ru (дек):Fri Dec 11 00:00:00 MST 1970
parsedDate uk (січ):Sun Jan 11 00:00:00 MST 1970
parsedDate uk (лют):Wed Feb 11 00:00:00 MST 1970
parsedDate uk (бер):Wed Mar 11 00:00:00 MST 1970
parsedDate uk (квіт):Sat Apr 11 00:00:00 MST 1970
parsedDate uk (трав):Mon May 11 00:00:00 MDT 1970
parsedDate uk (черв):Thu Jun 11 00:00:00 MDT 1970
parsedDate uk (лип):Sat Jul 11 00:00:00 MDT 1970
parsedDate uk (серп):Tue Aug 11 00:00:00 MDT 1970
parsedDate uk (вер):Fri Sep 11 00:00:00 MDT 1970
parsedDate uk (жовт):Sun Oct 11 00:00:00 MDT 1970
parsedDate uk (лист):Wed Nov 11 00:00:00 MST 1970
parsedDate uk (груд):Fri Dec 11 00:00:00 MST 1970
parsedDate ko (1월):Sun Jan 11 00:00:00 MST 1970
parsedDate ko (2월):Wed Feb 11 00:00:00 MST 1970
parsedDate ko (3월):Wed Mar 11 00:00:00 MST 1970
parsedDate ko (4월):Sat Apr 11 00:00:00 MST 1970
parsedDate ko (5월):Mon May 11 00:00:00 MDT 1970
parsedDate ko (6월):Thu Jun 11 00:00:00 MDT 1970
parsedDate ko (7월):Sat Jul 11 00:00:00 MDT 1970
parsedDate ko (8월):Tue Aug 11 00:00:00 MDT 1970
parsedDate ko (9월):Fri Sep 11 00:00:00 MDT 1970
parsedDate ko (10월):Sun Oct 11 00:00:00 MDT 1970
parsedDate ko (11월):Wed Nov 11 00:00:00 MST 1970
parsedDate ko (12월):Fri Dec 11 00:00:00 MST 1970
parsedDate ja (1月):Sun Jan 11 00:00:00 MST 1970
parsedDate ja (2月):Wed Feb 11 00:00:00 MST 1970
parsedDate ja (3月):Wed Mar 11 00:00:00 MST 1970
parsedDate ja (4月):Sat Apr 11 00:00:00 MST 1970
parsedDate ja (5月):Mon May 11 00:00:00 MDT 1970
parsedDate ja (6月):Thu Jun 11 00:00:00 MDT 1970
parsedDate ja (7月):Sat Jul 11 00:00:00 MDT 1970
parsedDate ja (8月):Tue Aug 11 00:00:00 MDT 1970
parsedDate ja (9月):Fri Sep 11 00:00:00 MDT 1970
parsedDate ja (10月):Sun Oct 11 00:00:00 MDT 1970
parsedDate ja (11月):Wed Nov 11 00:00:00 MST 1970
parsedDate ja (12月):Fri Dec 11 00:00:00 MST 1970
parsedDate zh (一月):Sun Jan 11 00:00:00 MST 1970
parsedDate zh (二月):Wed Feb 11 00:00:00 MST 1970
parsedDate zh (三月):Wed Mar 11 00:00:00 MST 1970
parsedDate zh (四月):Sat Apr 11 00:00:00 MST 1970
parsedDate zh (五月):Mon May 11 00:00:00 MDT 1970
parsedDate zh (六月):Thu Jun 11 00:00:00 MDT 1970
parsedDate zh (七月):Sat Jul 11 00:00:00 MDT 1970
parsedDate zh (八月):Tue Aug 11 00:00:00 MDT 1970
parsedDate zh (九月):Fri Sep 11 00:00:00 MDT 1970
parsedDate zh (十月):Sun Oct 11 00:00:00 MDT 1970
parsedDate zh (十一月):Wed Nov 11 00:00:00 MST 1970
parsedDate zh (十二月):Fri Dec 11 00:00:00 MST 1970
一切顺利。现在我只需要调整我的 JQuery 日期格式和翻译以匹配。我必须将 for 循环中的迭代长度从 11 更新到 12 以包括十二月。谢谢你!
最佳答案
这些不是有效日期 - 尝试使用此代码获取正确的短月份名称。例如,您会注意到四月是 Квіт
,而不是 Кві
。至于德国,三月应该是Mrz
,而不是März
。
public static void main(String[] args) throws IOException {
Locale ukLocale = new Locale("uk");
DateFormat df = new SimpleDateFormat("MMM", ukLocale);
Calendar cal = Calendar.getInstance();
for (int i = 0; i < 11; i++) {
cal.set(Calendar.MONTH, i);
System.out.println(df.format(cal.getTime()));
}
}
哪些输出:
січ
лют
бер
квіт
трав
черв
лип
серп
вер
жовт
лист
关于java.text.ParseException : Unparseable date (German, 乌克兰语),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16575519/
我在云中有一个表“用户”,其中包含用户名、经度、纬度字段。我以用户身份登录。我想在欢迎 Activity 中检索特定 ID 的记录。我关注了 parse.com 文档,非常有帮助。我按照文档中提到的检
我有一个@Service带注释的服务类方法createShiftPlan(int numberOfEmployees, int startingMonth, int year)我在其中使用 Simpl
我有像“2015-07-13T10:44:58Z”这样的时间戳字符串,当我尝试将其转换为日期对象时,它总是会生成异常 由以下原因引起:java.text.ParseException:无法解析日期:“
您好,我正在尝试将字符串解析为日期,但它抛出异常 java.text.ParseException: Unparseable date: "1409239380000"(at offset 13)。这
执行以下代码时,我收到 ParseException: double toMilliseconds(double ds2) throws ParseException { long durin
我在将日期从 String 解析为 Date 对象时遇到 ParseException。日期字符串还包含时区。我正在使用这段代码: final SimpleDateFormat sdf = new S
我正在尝试转换此日期 2013-03-04T12:08:52.74+08:00 formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
我正在使用 jdbc:odbc 连接从 eclipse 连接到 Access 2010 数据库。我编写了一种方法来格式化日期值,然后将它们插入数据库中的表中。但是,当我尝试运行它时,堆栈跟踪打印出以下
我想解析字符串格式“9/7/2016 07:40 p.m.”到日期。但我遇到了解析异常。我尝试使用两种三种格式。但仍然遇到异常。 我想将此解析日期与当前日期进行比较。 SimpleDateF
我需要对代表日期的字符串列表进行排序。 我尝试了以下代码: try { SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd");
我有一个名为 DateCompareOld 的字符串,它的值为“Fri Aug 12 16:08:41 EDT 2011”。我想将其转换为日期对象。 SimpleDateFormat dateTyp
这个问题已经有答案了: Datetime parsing error (2 个回答) 已关闭 5 年前。 我正在处理日期字符串,我需要解析为 java“Date”对象。这是我到目前为止所得到的: tr
我编写了一段代码来解析日期字符串 - DateFormat cal = new SimpleDateFormat("yyyy-MM-dd hh:mm"); cal.setLenient
我有以下字符串:dateToParse = "Fri May 16 23:59:59 BRT 2014",我想使用 DateFormat 解析它: DateFormat dateFormat = ne
为什么我会收到此异常? 这是我的格式字符串: SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); 这是我
解析日期格式时出现异常? java.text.ParseException:无法解析的日期:“10-10-2016” 在这一行: newSelection5 = DateFormat.getDateI
我需要将输入日期格式更改为我想要的格式。 String time = "Fri, 02 Nov 2012 11:58 pm CET"; SimpleDateFormat displayFormat =
我正在运行以下代码: DateFormat fullDate = new SimpleDateFormat("HHmmdd/MMMyy"); Date date = fullDate.parse("0
我正在尝试使用 SimpleDateFormat 解析以下日期:2015 年 9 月 3 日上午 10:00 (UTC-08:00)。 我最远的是: message = "10:00 AM UTC-0
我遇到了一个非常奇怪的问题,一小段代码在一台机器上运行,而不是在另一台机器上运行。这段代码: DateTimeFormatter formatter = DateTimeFormatter.o
我是一名优秀的程序员,十分优秀!