English 中文(简体)
我为什么在使用简单格式格式格式,然后按日期加以划分时,就拿到了一种包罗万象?
原标题:Why am I getting a ParseException when using SimpleDateFormat to format a date and then parse it?

我一直在拟订一些现行法典,因为我的系统没有进行单位测试,而没有在同事系统中进行测试。 根本原因是,简单化格式在规定时间应予平准时 throw然。 我制造了一个单元测试,显示我系统无法使用的守则:

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

import junit.framework.TestCase;

public class FormatsTest extends TestCase {

    public void testParse() throws ParseException {
        DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss.SSS Z");
        formatter.setTimeZone(TimeZone.getDefault());
        formatter.setLenient(false);

        formatter.parse(formatter.format(new Date()));
    }
}

这一试验使我的系统陷入瘫痪,但在其他系统成功运行。

java.text.ParseException: Unparseable date: "20100603100243.118 -0600"
    at java.text.DateFormat.parse(DateFormat.java:352)
    at FormatsTest.testParse(FormatsTest.java:16)

我发现,我可以<代码>setLenient(true),测试将取得成功。 <代码>Lenient(false)是生产法典中所使用的标准,因此我不想改动。

最佳回答

纽约总部 在答复后获悉开发商使用IBM J9 1.5.0。 Java 虚拟机器————

国际交易日志的J9 JV似乎在“Format”的例行公文中存在一些ug和不一致之处,因为“Format”是“Format”的子类,因此,简化格式可能会继承。 某些证据可以证明,IBM s J9是运转正常的拖车,可以看到你可能期望其他JV(如Sun shotSpot JVER)公司(如Sun shotSpot JV)的方式,见

请注意,这些ug和 in合剂在联合9号证书中甚至不一致,换言之,IBM J9格式化逻辑可能实际上产生不符合IBM J9同化逻辑的固定时间。

看来,与IBM s J9 JV捆绑在一起的人往往通过不使用日期(......)(或简单的Format.parse(......))来在联合认证机制中工作。 相反,他们往往使用java.util.regex。 人工调节田。

也许以后发表的J9号证书将解决这个问题,也许不是。

--————

同一法典修改如下:

import java.util.Date;
import java.util.TimeZone;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.text.ParseException;

public class FormatsTest {

 public void testParse() throws ParseException {
  DateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss.SSS Z");
  formatter.setTimeZone(TimeZone.getDefault());
  formatter.setLenient(false);
  System.out.println(formatter.format(new Date()));

  formatter.parse(formatter.format(new Date()));
 }

 public static void main(String[] args) throws Exception {
   FormatsTest test = new FormatsTest();
   test.testParse();
 }

}

对我的系统处以罚款。 我要说的是,这在你的环境中是一件事。 你们要么正在编纂一部关于单一证书的主要发布和操作的法典(这可能造成一些问题,因为图书馆可能无法使用),要么你正在使用的系统可能会报告时间区的信息。

最后,你可能想考虑一下,你是否使用非常早的证书发布点。 有时,ug虫确实渗透到各种版本中,而后点释放则固定下来。 请修改您的问题,以列入“java-version”资料供您系统使用?

这两种方式都只是受过教育。 守则应书面进行。

问题回答

这很可能是IBM第J9号信标中关于简单DateFormat类别的 b。

该员额也存在类似问题,说应定在正文中。

http://www.ibm.com/developerworks/java/jdk/aix/service.html“rel=“nofollow noreferer”>。

我看到与日期有关的一些日期。 因此,你可能要与IBM一道提出虚假的报告或一些东西,以便给你一个包裹。

检查你电脑和远程计算机的LANG环境变量。

该日期按当地人划分,因此,朱尔公司直到7月才投入工作,如果你把LANG安排到美国,否则就会提出ParseException。

您可以通过运行<条码>出口LANG=”en_US.UTF-8>进行快速测试,然后管理你的方案。

You can also set the locale programmatically, by using the following method: DateFormat.getDateInstance(int, java.util.Locale)





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签