Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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中日历的字符串时间戳?_Java_Android_Date_Calendar_Timestamp - Fatal编程技术网

Java中日历的字符串时间戳?

Java中日历的字符串时间戳?,java,android,date,calendar,timestamp,Java,Android,Date,Calendar,Timestamp,一个我找不到答案的简单问题。 我有一个字符串,它是一个时间戳,我想把它变成一个日历对象,这样我就可以在我的Android应用程序中显示它 到目前为止,我的代码显示了1970年代的一切 String timestamp = parameter.fieldParameterStringValue; timestampLong = Long.parseLong(timestamp); Date d = new Date(timestampLong); Calendar c = Calendar.get

一个我找不到答案的简单问题。 我有一个字符串,它是一个时间戳,我想把它变成一个日历对象,这样我就可以在我的Android应用程序中显示它

到目前为止,我的代码显示了1970年代的一切

String timestamp = parameter.fieldParameterStringValue;
timestampLong = Long.parseLong(timestamp);
Date d = new Date(timestampLong);
Calendar c = Calendar.getInstance();
c.setTime(d);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);

dateTextView.setText(year + "-" + month + 1 + "-" + date);
更新: 仅供参考,时间戳来自服务器:1369148661,
这可能是错误的吗?

您可以使用setTimeMillis:

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timestampLong);

如果以秒为单位计算时间,则必须将其乘以1000:

String time = "1369148661";
long timestampLong = Long.parseLong(time)*1000;
Date d = new Date(timestampLong);
Calendar c = Calendar.getInstance();
c.setTime(d);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
System.out.println(year +"-"+month+"-"+date);
输出:

2013-4-21

小心,因为
日历.MONTH
的常量从0开始。因此,您应该像这样为用户显示它:

System.out.println(year +"-"+(month+1)+"-"+date);

你从哪里得到时间戳?我知道的一些API为了节省空间,在1000的基础上加了条纹。i、 e.我们运行的服务器的1秒精度。时间戳是正确的,我已经从服务器上三次检查了值,它是正确的看看你是否有相同的结果?你试过SimpleDate吗?@ZouZou不起作用我跳过了日期转换,但除此之外,它和我最后使用的代码是一样的。尤其是(月+1),这让我一开始就感到很沮丧。