我是GWT(2.3)的新手,想要采用以下格式的整数(或字符串):
2012006
并将其格式化为
1206
我知道我可以轻松地使用字符串操作但是因为2012年是年份而006是月份(6月)我正在尝试使用GWT DateTimeFormat来完成它但是我正在努力应对荒谬的3位数月份格式。
请帮忙
./ CJ
答案 0 :(得分:1)
使用
DateTimeFormat fmt = DateTimeFormat.getFormat("yyyy'0'MM");
Date date = fmt.parse("2012006");
将您描述的格式的字符串解析为日期。
使用
DateTimeFormat out = DateTimeFormat.getFormat("yyMM");
out.format(date);
将日期格式化为所需格式。
其他解析注意事项([DateTimeFormat])1
使用缩写年份模式(“yy”)解析日期字符串时,解析器必须解释相对于某个世纪的缩写年份。它通过将日期调整为创建解析器实例之前的80年和之后20年来实现此目的。例如,使用1997年1月1日创建的“MM / dd / yy”模式和DateTimeFormat对象,字符串“01/11/12”将被解释为2012年1月11日,而字符串“05/04 / 64“将被解释为1964年5月4日。
答案 1 :(得分:0)
只需使用引号将前0解释为文字。请尝试以下方法:
DateTimeFormat.getFormat("yyyy'0'MM")
答案 2 :(得分:0)
试试这个,你会得到你想要的结果
public class DateWala {
public static void main(String[] args){
System.out.println(new SimpleDateFormat("YYMM").format(new Date()));
}
}