2015-12-23 54 views
1

我從媒體商店MediaStore - 修改日期不正常工作

MediaStore.Images.Media.DATE_TAKEN 
MediaStore.Images.Media.DATE_MODIFIED 

檢索下列值和讀取結果的日期類似以下內容:

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; 

而且可以看到以下行爲(示例值):

  • lDateToken看起來像以下:1450696995000 < = CORRECT
  • lDateModified看起來像以下:1450696995 < =錯誤

好像修改日期都切斷。我使用文件瀏覽器檢查了真正的文件上次修改日期,值應該沒問題,但我總是從我的媒體文件中獲得這樣短的數字。

爲什麼會發生這種情況的任何想法?

PS:選中該http://developer.android.com/reference/android/provider/MediaStore.Images.ImageColumns.html,但修改後的字段沒有被列入其中...

回答

3

DATE_TAKEN以毫秒爲單位自1970年以來 見docs

DATE_MODIFIED是自1970年以來秒,所以才乘它減少1000,它會很好。 查看docs

+0

我編輯了我的問題......我其實是這麼想的,但是我找不到任何有關該文檔的文檔......您是否通過嘗試瞭解了這一點?這是如此奇怪,所採取的日期是在一個不同的格式比修改日期... – prom85

+0

文檔說這麼...我更新了我的文章鏈接爲你 – Buddy

+0

非常感謝 – prom85