1
YAML文件:爲什麼YAML解析的時間戳不正確?
!!test.User
timestamp: 2012-11-22T01:02:03.567Z
Java類:
package test;
public class User {
public Date timestamp;
}
與snakeyaml解析它:
String str = "2012-11-22T01:02:03.567Z";
// parse it manually
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(str);
System.out.println("manually: " + date);
// parse it by snakeyaml
Yaml yaml = new Yaml();
yaml.setBeanAccess(BeanAccess.FIELD);
InputStream input = new FileInputStream("C:\\test.yaml");
User myUser = yaml.loadAs(input, User.class);
System.out.println("by Yaml: " + user.timestamp);
它打印:
manually: Thu Nov 22 01:02:03 CST 2012
by Yaml: Thu Nov 22 09:02:03 CST 2012
你可以看到他們是d ifferent。爲什麼?
除非是中國標準時間。 –
@MichałPolitowski好點,我討厭它時,不同的時區有相同的縮寫:-( – Henry
這就是爲什麼一個人應該避免3個字母的時區代碼,而是使用[適當的時區名稱](https:// en。例如:「美國/芝加哥」或「亞洲/臺北」而不是「CST」。 –