2015-09-16 35 views
-1

我正在尝试构建一个图库应用程序。我已经从MediaStore.Images中添加了获取的图像路径和日期。从Gallery返回的日期总是返回1970年1月1日

我用下面的代码:

​​

请参阅我已经发布below.The图像路径即将完美的logcat的,所以在milliseconds.But的时候,我试图在毫秒转换成日期格式,然后我总是得到:1970年1月17日

09-16 11:10:53.994: I/System.out(10098): date in format--->January 17, 1970 8:49PM 
    09-16 11:10:53.994: I/System.out(10098): Imagepath-->/storage/emulated/0/ModFace/Modface727142626.jpg 
    09-16 11:10:53.994: I/System.out(10098): date--->1437988950 
    09-16 11:10:53.994: I/System.out(10098): date in format--->January 17, 1970 8:56PM 
    09-16 11:10:53.994: I/System.out(10098): Imagepath-->/storage/emulated/0/ModFace/Modface727142639.jpg 
    09-16 11:10:53.994: I/System.out(10098): date--->1437988950 
    09-16 11:10:53.994: I/System.out(10098): date in format--->January 17, 1970 8:56PM 
    09-16 11:10:53.994: I/System.out(10098): Imagepath-->/storage/emulated/0/data/data/images/SILogo2015.png 
    09-16 11:10:53.994: I/System.out(10098): date--->1438252547 
    09-16 11:10:53.994: I/System.out(10098): date in format--->January 17, 1970 9:00PM 
    09-16 11:10:53.994: I/System.out(10098): Imagepath-->/storage/emulated/0/Download/ebook.png 
    09-16 11:10:53.994: I/System.out(10098): date--->1438668694 
    09-16 11:10:53.994: I/System.out(10098): date in format--->January 17, 1970 9:07PM 
    09-16 11:10:53.994: I/System.out(10098): Imagepath-->/storage/emulated/0/DCIM/Camera/20150811_153514.jpg 
    09-16 11:10:53.994: I/System.out(10098): date--->1439287514 
    09-16 11:10:53.994: I/System.out(10098): date in format--->January 17, 1970 9:18PM 
    09-16 11:10:53.994: I/System.out(10098): Imagepath-->/storage/emulated/0/Pictures/mainstreamtemp.jpg 
    09-16 11:10:53.994: I/System.out(10098): date--->1439800096 
    09-16 11:10:53.994: I/System.out(10098): date in format--->January 17, 1970 9:26PM 
    09-16 11:10:53.994: I/System.out(10098): Imagepath-->/storage/emulated/0/Pictures/mainstream2.jpg 
    09-16 11:10:53.994: I/System.out(10098): date--->1439800096 
    09-16 11:10:53.994: I/System.out(10098): date in format--->January 17, 1970 9:26PM 
    09-16 11:10:54.024: I/System.out(10098): date in format--->January 17, 1970 10:01PM 
    09-16 11:10:54.024: I/System.out(10098): Imagepath-->/storage/emulated/0/shiatoolkitimages/mashlool07.gif 
    09-16 11:10:54.024: I/System.out(10098): date--->1441888058 
    09-16 11:10:54.024: I/System.out(10098): date in format--->January 17, 1970 10:01PM 
    09-16 11:10:54.024: I/System.out(10098): Imagepath-->/storage/emulated/0/shiatoolkitimages/mashlool08.gif 
    09-16 11:10:54.024: I/System.out(10098): date--->1441888058 
    09-16 11:10:54.024: I/System.out(10098): date in format--->January 17, 1970 10:01PM 
    09-16 11:10:54.024: I/System.out(10098): Imagepath-->/storage/emulated/0/shiatoolkitimages/mashlool09.gif 
    09-16 11:10:54.024: I/System.out(10098): date--->1441888058 
    09-16 11:10:54.024: I/System.out(10098): Imagepath-->/storage/emulated/0/shiatoolkitimages/mashlool10.gif 
    09-16 11:10:54.024: I/System.out(10098): date--->1441888058 
    09-16 11:10:54.024: I/System.out(10098): Imagepath-->/storage/emulated/0/shiatoolkitimages/mashlool11.gif 
    09-16 11:10:54.024: I/System.out(10098): date in format--->January 17, 1970 10:01PM 
    09-16 11:10:54.024: I/System.out(10098): Imagepath-->/storage/emulated/0/siat_hadith.png 
    09-16 11:10:54.024: I/System.out(10098): date--->1442042302 
    09-16 11:10:54.024: I/System.out(10098): date in format--->January 17, 1970 10:04PM 

我也曾尝试另一种方法来转换日期米利斯,但最终得到相同的结果:

public static String convertDate(long dateInMilliseconds,String dateFormat) { 
     return DateFormat.format(dateFormat, dateInMilliseconds).toString(); 
    } 

回答

4

你是从你的光标获得的数量是在Unix Time,其对自1月经过1970年对于要在毫秒值的生成日期秒数的格式。简单的解决方案是将你的结果乘以1000,你很好。

+1

或使用'TimeUnit' –

+0

谢谢您reply.I会尝试。 – kgandroid

+0

它的工作。谢谢。 – kgandroid

2

取而代之的是

  Date d = new Date(dateofimage); 
     java.text.DateFormat formatter = new SimpleDateFormat("MMMM dd, yyyy h:mmaa"); 
     String dateString = formatter.format(d); 

试试这个

 Timestamp timeStamp = new Timestamp(dateofimage * 1000); 
     String dateString = timeStamp.toLocaleString(); 
+0

感谢您的答复。我会试试这个。 – kgandroid

+0

如果有帮助,请提出答案。它可能也会帮助其他人.. –

+0

toLocaleString();被取消 – kgandroid

相关问题