2016-10-22 4 views
0

MediaStoreからのビデオの撮影日はどこで取得できますか?私はMediaStoreから以下のフィールドを取得しました。MediaStoreのビデオの追加/変更/取得日を取得します

dateModified: 1477043336 
dateTaken: 1477043336000 
dateAdded: 1477043352 

フォーマットされた日付 - -

MediaStore.Video.Media.DATE_MODIFIED 
MediaStore.Video.Media.DATE_TAKEN 
MediaStore.Video.Media.DATE_ADDED 

これらのフィールドは、上品デフォルト値を返さ

dateModified: 01/01/1970 
dateTaken: 01/01/1970 
dateAdded: 01/01/1970 

私は株式ギャラリー>ランダムビデオファイルをダブルチェックして、私は正しい日付を参照しています。私はMediaStoreのビデオ列を見て、正しい日付を持つ他の列は見ませんでした。

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 
    String formattedDate = dateFormat.format(new Date(row.getColumnIndex(MediaStore.Video.Media.DATE_MODIFIED))); 

    String dateModified = dateFormat.format(new Date(row.getColumnIndex(MediaStore.Video.Media.DATE_MODIFIED))); 
    String dateTaken = dateFormat.format(new Date(row.getColumnIndex(MediaStore.Video.Media.DATE_TAKEN) * 1000L)); 
    String dateAdded = dateFormat.format(new Date(row.getColumnIndex(MediaStore.Video.Media.DATE_ADDED) * 1000L)); 

    Log.d(TAG, "dateModified: "+dateModified); 
    Log.d(TAG, "dateTaken: "+dateTaken); 
    Log.d(TAG, "dateAdded: "+dateAdded); 

    Log.d(TAG, "dateModified: "+row.getString(row.getColumnIndex(MediaStore.Video.Media.DATE_MODIFIED))); 
    Log.d(TAG, "dateTaken: "+row.getString(row.getColumnIndex(MediaStore.Video.Media.DATE_TAKEN))); 
    Log.d(TAG, "dateAdded: "+row.getString(row.getColumnIndex(MediaStore.Video.Media.DATE_ADDED))); 
+0

クエリの列をリクエストしていますか?普通の数値を(日付としてフォーマットするのではなく)見ると、どのような値が見えますか? – CommonsWare

+0

はい、最初の投稿にMediaStoreの生データを追加しました。 – Meep

答えて

0

これらのフィールドは、2番目の1が終わり3つの余分なゼロを持っている理由を私は知らない上品デフォルト値

を返しました。しかし、a Unix date converter siteを使用して:

  • dateModified = 1477043336 =金、2016年10月21日午前9時48分56秒GMT
  • dateAdded = 1477043352 =金、2016年10月21日午前9時49分12秒GMT

dateTakenは、ゼロを除いて、dateModifiedと同じです。だから、あなたのゼロがどこから来たのか(1000Lを値に乗算することを無作為に決めるなど)を考えれば、有効なタイムスタンプがあります。

+0

ありがとう、私はその部分を見落とした。 – Meep

関連する問題