2013-12-12 67 views
0

我想从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 

,结果我看到类似70年2月1日,69年12月26日等 如何解决呢?

+1

'news_date.get(position)* 1000'评估的是什么? –

+4

什么是你的问题?你想达到什么? – Sajmon

+0

只是猜测:确保'news_date.get(位置)'不计算为0并尝试删除'* 1000'。 –

回答

0

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

+0

!非常感谢你。 timestamp是整数,所以当我为java格式进行乘法时它会溢出 – user2976267

-1

你可能得到你的news_date.get(位置)错电话号码,试图找出原因

编辑:

用错了我的意思是一些接近0:P

+0

用日志更新的帖子。确切地说, – user2976267

相关问题