0

我对 GWT (2.3) 很陌生,想采用以下格式的整数(或字符串):

2012006

并将其格式化为

1206

我知道我可以使用字符串操作轻松地做到这一点,但由于 2012 年是年,而 006 是月(六月),我正在尝试使用 GWT DateTimeFormat 来做到这一点,但我正在为荒谬的 3 位数月份格式而苦苦挣扎......

请帮忙

./CJ

4

3 回答 3

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 年来实现这一点。例如,使用“MM/dd/yy”模式和 1997 年 1 月 1 日创建的 DateTimeFormat 对象,字符串“01/11/12”将被解释为 2012 年 1 月 11 日,而字符串“05/04/ 64" 将被解释为 1964 年 5 月 4 日。

于 2012-06-25T15:16:31.683 回答
0

只需使用引号将第一个 0 解释为文字。尝试以下操作:

DateTimeFormat.getFormat("yyyy'0'MM")
于 2012-06-25T14:11:12.157 回答
0

试试这个,你会得到你想要的结果

public class DateWala {

    public static void main(String[] args){


        System.out.println(new SimpleDateFormat("YYMM").format(new Date()));
    }

}
于 2012-06-25T14:50:32.773 回答