Java 将长时间转换为1分钟的休息时间
我有一部分代码可以找到用户以前保存的以毫秒为单位的保存时间。当时间从内存中提取,然后由于某种原因转换为简单的日期格式时,时间会增加1分钟。我不明白为什么会发生这种情况。以下是检索时间并转换时间的代码Java 将长时间转换为1分钟的休息时间,java,android,time,sharedpreferences,simpledateformat,Java,Android,Time,Sharedpreferences,Simpledateformat,我有一部分代码可以找到用户以前保存的以毫秒为单位的保存时间。当时间从内存中提取,然后由于某种原因转换为简单的日期格式时,时间会增加1分钟。我不明白为什么会发生这种情况。以下是检索时间并转换时间的代码 time = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).getFloat(String.valueOf(id)+"TIME", 0); String dateString = new Sim
time = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).getFloat(String.valueOf(id)+"TIME", 0);
String dateString = new SimpleDateFormat("hh:mm a").format(new Date((long) time));
mPickedTimeText.setText(dateString);
以及节省时间的代码部分
this.time = time.getTimeInMillis();
PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Editor editor=prefs.edit();
editor.putFloat(String.valueOf(id)+"TIME", time);
editor.commit();
finish();
提前谢谢 float数据类型没有足够的精度来表示一分钟的时间。将时间存储为
long
editor.putLong(String.valueOf(id)+"TIME", time);
time = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).getLong(String.valueOf(id)+"TIME", 0);
String dateString = new SimpleDateFormat("hh:mm a").format(new Date(time));