Java Android日期格式化程序问题
我试图通过dateformatter将字符串解析为date,字符串的格式如下--2018-06-02T00:00:00+11:00,我想将其解析为date类型 所以我就这样写Java Android日期格式化程序问题,java,android,simpledateformat,Java,Android,Simpledateformat,我试图通过dateformatter将字符串解析为date,字符串的格式如下--2018-06-02T00:00:00+11:00,我想将其解析为date类型 所以我就这样写 public Resident(String address, String dob, String email, String postcode, String firstname, String surname, String provider, String familynumber) this.ad
public Resident(String address, String dob, String email, String postcode, String firstname, String surname, String provider, String familynumber)
this.address = address;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
try{
dob = dob + "T00:00:00+11:00";//the dob is a string of "2018-06-02"
this.dob = sdf.parse(dob);
sdf.format(this.dob);
}
catch (ParseException e) {
e.printStackTrace();
}
...
但是,如上所示,它生成*——Fri Jun 01 23:00:00 GMT+10:00 2018*对我来说,顺序完全错误,我尝试了许多方法进行调试,但都没有成功。有人能告诉我出了什么问题吗??
非常感谢 没有什么不对的。您已成功解析日期 图片中的
Fri Jun 01 23:00:00 GMT+10:00 2018
是通过调试器调用this.dob.toString()
生成的
事实上,调试程序时,它将隐式调用对象的toString()
,以显示当前值。Date
对象的toString
方法的格式如下:Fri Jun 01 23:00:00 GMT+10:00 2018
,它与SimpleDataFormat
无关,如下所示:
这太奇怪了。破解你期望的输出是什么?@cse正是我要问的同一个问题。如果你能稍微澄清一下你的问题,假设这是一个出生日期,我建议你使用
LocalDate
fromjava.time
。这是一个没有时间和时区的约会,所以你不用为这些烦恼。并在没有显式格式化程序的情况下解析字符串,从而避免了更多的麻烦。在不太新的Android上使用java.time
。代码sdf.format(this.dob)中的PS
在您没有获取其返回值时似乎是多余的。我希望是这样,但当我通过Gson将其转换为JSON进行测试时,它仍然会生成Fri Jun 01 23:00:00 GMT+10:00 2018,对我来说,这显然不是我想要的want@Damon你问的问题不止一个。解析中出现了什么问题,如何格式化,如何通过Gson转换为JSON。如果你一次只问一个问题,对我们来说就容易多了。你查过了吗?@OleV.V。对不起,我想这是因为日期格式的问题。@Damon在您发布的图片中,日期已被成功解析。下一个过程与SimpleDataFormatter
无关!