Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将长时间转换为1分钟的休息时间_Java_Android_Time_Sharedpreferences_Simpledateformat - Fatal编程技术网

Java 将长时间转换为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

我有一部分代码可以找到用户以前保存的以毫秒为单位的保存时间。当时间从内存中提取,然后由于某种原因转换为简单的日期格式时,时间会增加1分钟。我不明白为什么会发生这种情况。以下是检索时间并转换时间的代码

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));