服务器时间戳到String的转换不正确

时间:2013-12-12 14:45:43

标签: java android timestamp simpledateformat

我正在尝试使用从服务器获取的时间戳的ArrayList在ListView的Adapter中设置日期。

 Date date = new Date(news_date.get(position) * 1000);
 SimpleDateFormat sdf= new SimpleDateFormat("dd.MM.yy");
 ((TextView) view.findViewById(R.id.newsTvDate)).setText(sdf.format(date));

这是我的日志:

12-12 19:00:23.234: D/MyLog(13086):  news_date.get(position)=1385323200
12-12 19:00:23.254: D/MyLog(13086):  news_date.get(position)=1384718400
12-12 19:00:23.266: D/MyLog(13086):  news_date.get(position)=1384113600
12-12 19:00:23.275: D/MyLog(13086):  news_date.get(position)=1383508800
12-12 19:00:23.291: D/MyLog(13086):  news_date.get(position)=1383076800
12-12 19:00:55.426: D/MyLog(13086):  news_date.get(position)=1382904000

因此我看到像02.01.70,26.12.69等 我该如何解决?

2 个答案:

答案 0 :(得分:0)

整数溢出。

例如,1385323200 * 1000太大而不适合32位整数。首先将其中一个操作数提升为64位整数:1385323200 * 1000L

答案 1 :(得分:-1)

你的news_date.get(位置)可能输错了号码,试着找出原因

编辑:

错误我的意思是接近0:P