MediaStore - 修改日期无法正常工作

pro*_*m85 5 android mediastore

我从媒体商店中检索以下值

MediaStore.Images.Media.DATE_TAKEN
MediaStore.Images.Media.DATE_MODIFIED
Run Code Online (Sandbox Code Playgroud)

并从结果中读取日期,如下所示:

int dateTakenColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN);
int dateModifiedColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATE_MODIFIED);
String dateToken  = cursor.getString(dateTakenColumn);
String dateModified = cursor.getString(dateModifiedColumn);
long lDateToken = dateToken != null ? Long.parseLong(dateToken) : 0;
long lDateModified = dateModified != null ? Long.parseLong(dateModified) : 0;
Run Code Online (Sandbox Code Playgroud)

并且可以看到以下行为(示例值):

  • lDateToken 如下所示:1450696995000 <= 正确
  • lDateModified 如下所示:1450696995 <= 错误

好像修改日期都被截断了。我用文件浏览器检查了真实文件的最后修改日期,这些值应该没问题,但我总是从我的媒体文件中得到这么短的数字。

关于为什么会发生这种情况的任何想法?

PS:检查了这个http://developer.android.com/reference/android/provider/MediaStore.Images.ImageColumns.html,但修改后的字段没有在那里列出......

Bud*_*ddy 5

DATE_TAKEN自 1970 年以来的毫秒数。请参阅文档

DATE_MODIFIED自 1970 年以来以秒为单位,因此只需将其乘以 1000 就可以了。查看文档