我正在尝试创建一个应用程序,其中人们存储将在以后使用解析作为后端时用于提醒的日期。问题是每当日期存储在解析时,存储的值与我放的值不同。我在肯尼亚,所以我不知道这是时区的问题,也不知道我是如何存储日期的。这是我的代码的简单版本:
int month=2, date=27, mYear=2015, hours= 3, min =55;
Calendar myCalender = Calendar.getInstance();
myCalender.set(Calendar.HOUR_OF_DAY, hours);
myCalender.set(Calendar.MINUTE, min);
myCalender.set(Calendar.YEAR, mYear);
myCalender.set(Calendar.MONTH, month);
myCalender.set(Calendar.DATE, date);
//Then later on:
ParseObject obj = new ParseObject("TestDate");
obj.put("myDate", myCalender.getTime());
obj.saveInBackground();
答案 0 :(得分:1)
Parse API uses UTC,因此您的解决方案可能是强制日历到UTC时区:
Calendar myCalender = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
我认为API会进行转换,但似乎不是
答案 1 :(得分:0)
java.sql.Date和java.util.Date之间存在差异。将日期存储为setTimeInMillis(long millis)和getTimeInMillis()。