无法解析的UTC日期时间

Tho*_*ann 0 java

我继承了一些代码来移植到Android.我遇到问题的部分解析文本字符串并从中创建UTC日期.

当我运行继承的代码时,我得到错误java.text.ParseException:Unparseable date:"4/8/2009 06:00.0"(在偏移量14处)偏移量14指向十进制的毫秒数.我无法弄清楚为什么这是不正确的

异常错误总计

java.text.ParseException: Unparseable date: "4/8/2009 06:00.0" (at offset 14)
at java.text.DateFormat.parse(DateFormat.java:622)
at gbl.util.test.UTC_test.test2(UTC_test.java:32)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
Run Code Online (Sandbox Code Playgroud)

有问题的代码看起来像

String date = "4/8/2009";
String time = "06:00.0";

SimpleDateFormat utcDateTime = new SimpleDateFormat("d/M/yy HH:mm:ss.SSS");
utcDateTime.setTimeZone(TimeZone.getTimeZone("UTC"));   
utcDateTime.parse(date+" "+time);
Run Code Online (Sandbox Code Playgroud)

任何建议将非常感激.

Pet*_*rey 5

我无法弄清楚为什么这是正确的

你有一个4位数的年份而不是a yy=两位数的年份.

更重要的是,您没有秒字段,只有一个数字表示毫秒字段.

这就是今天的日期看起来像使用这种格式

24/7/13 23:03:17.171
Run Code Online (Sandbox Code Playgroud)

这就是你的输入格式

4/8/2009 06:00.0
Run Code Online (Sandbox Code Playgroud)

一个看起来不像另一个.