SimpleDateFormat format = new SimpleDateFormat("GD_yyyyMMdd_HHmmss");
System.out.println(format.format(new Date()));
我想要一个结果,'GD_20120604_164534'
但结果是AD156_20120604_165315
如何设置参数可以返回我愿意的结果。谢谢提前!
SimpleDateFormat format = new SimpleDateFormat("GD_yyyyMMdd_HHmmss");
System.out.println(format.format(new Date()));
我想要一个结果,'GD_20120604_164534'
但结果是AD156_20120604_165315
如何设置参数可以返回我愿意的结果。谢谢提前!
G
是一个时代指示符,D
代表SimpleDateFormat
参考文献中指定的日期,并且:
可以使用单引号 (') 引用文本以避免解释。"''" 表示单引号。
改成:
SimpleDateFormat format = new SimpleDateFormat("'GD_'yyyyMMdd_HHmmss");
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd_HHmmss");
System.out.println("GD_" + format.format(new Date()));
这是因为G
和D
是变量,例如yyyy
:
G Era designator Text AD
D Day in year Number 189
你应该转义这两个字母(我认为用单引号)
根据JavaDocs,G
表示时代并D
表示一年中的某一天。
解决这个问题并做你想做的事情的一种方法是做这样的事情:
String newDate = "GD_" + format.format(new Date());
SimpleDateFormat format = new SimpleDateFormat("'GD'_yyyyMMdd_HHmmss");
System.out.println(format.format(new Date()));
使用 ' 转义你的字符