0
SimpleDateFormat format = new SimpleDateFormat("GD_yyyyMMdd_HHmmss");
    System.out.println(format.format(new Date()));

我想要一个结果,'GD_20120604_164534'但结果是AD156_20120604_165315

如何设置参数可以返回我愿意的结果。谢谢提前!

4

5 回答 5

4

G是一个时代指示符,D代表SimpleDateFormat参考文献中指定的日期,并且:

可以使用单引号 (') 引用文本以避免解释。"''" 表示单引号。

改成:

SimpleDateFormat format = new SimpleDateFormat("'GD_'yyyyMMdd_HHmmss");
于 2012-06-04T09:06:08.053 回答
1
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd_HHmmss");
System.out.println("GD_" + format.format(new Date()));
于 2012-06-04T09:05:51.457 回答
0

这是因为GD是变量,例如yyyy

G   Era designator  Text    AD
D   Day in year     Number  189

你应该转义这两个字母(我认为用单引号)

于 2012-06-04T09:05:42.550 回答
0

根据JavaDocsG表示时代并D表示一年中的某一天。

解决这个问题并做你想做的事情的一种方法是做这样的事情:

String newDate = "GD_" + format.format(new Date());

于 2012-06-04T09:05:46.823 回答
0
SimpleDateFormat format = new SimpleDateFormat("'GD'_yyyyMMdd_HHmmss");
System.out.println(format.format(new Date()));

使用 ' 转义你的字符

于 2012-06-04T09:06:44.670 回答