我对 GWT (2.3) 很陌生,想采用以下格式的整数(或字符串):
2012006
并将其格式化为
1206
我知道我可以使用字符串操作轻松地做到这一点,但由于 2012 年是年,而 006 是月(六月),我正在尝试使用 GWT DateTimeFormat 来做到这一点,但我正在为荒谬的 3 位数月份格式而苦苦挣扎......
请帮忙
./CJ
我对 GWT (2.3) 很陌生,想采用以下格式的整数(或字符串):
2012006
并将其格式化为
1206
我知道我可以使用字符串操作轻松地做到这一点,但由于 2012 年是年,而 006 是月(六月),我正在尝试使用 GWT DateTimeFormat 来做到这一点,但我正在为荒谬的 3 位数月份格式而苦苦挣扎......
请帮忙
./CJ
利用
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 年来实现这一点。例如,使用“MM/dd/yy”模式和 1997 年 1 月 1 日创建的 DateTimeFormat 对象,字符串“01/11/12”将被解释为 2012 年 1 月 11 日,而字符串“05/04/ 64" 将被解释为 1964 年 5 月 4 日。
只需使用引号将第一个 0 解释为文字。尝试以下操作:
DateTimeFormat.getFormat("yyyy'0'MM")
试试这个,你会得到你想要的结果
public class DateWala {
public static void main(String[] args){
System.out.println(new SimpleDateFormat("YYMM").format(new Date()));
}
}