none
Windows7 エクスプローラーの日付時刻には何の日時が表示されるの?

    質問

  • こんにちは。

    Windows 7 Home Premium
    Visual Studio 2010 PRO

    を使用しています。

    質問ですが、Widows 7 のエクスプローラーの詳細表示では、いくつかの日時が表示されます。
    例えば、画像ファイルや動画ファイル等では、日付時刻、撮影日時、作成日時、更新日時の項目があります。

    作成日時、更新日時はわかりますが、日付時刻、撮影日時がよくわかりません。
    撮影日時はデジカメなどで撮影した日時かな?と推測できますが、日付時刻とはいったい何の日時が表示されているのでしょうか?

    もしかして、画像ファイルの場合は、Exif情報から取得しているのでしょうか?
    でも、ファイルによっては、日付時刻と撮影日時が同じもの、撮影時刻だけが空欄のも・・・等まちまちです。
    また、動画ファイルでは、撮影日時の項目自体がありません。(日付時刻の項目はあります。)
    その違いを教えてください。

    また、プログラムC#で日付時刻と撮影日時を取得する方法があれば教えてください。
    参考になるホームページの情報でも結構です。

    よろしくお願いします。

    2011年1月2日 15:37

回答

  • >もしかして、画像ファイルの場合は、Exif情報から取得しているのでしょうか?

    そのようですね。撮影日時が存在するものは、たとえ画像を編集して保存しても撮影日時が日付時刻に、撮影日時の情報がないものは、ファイルの更新日時が表示されるようです。
    #文章を見つけることができなかったため、撮影日時を保存するデジカメと保存してくれない昔のデジカメのデータで確認してみました。

    >動画ファイルでは、撮影日時の項目自体がありません。

    右クリックしてプロパティを出して、詳細タブを見ていただいて、編集できるかどうかを確認いただけば、そのファイル形式がどういう情報を扱えるかが大体わかるかと。
    wmvですと画像と同様で、メディアの作成日時を設定すると、日付時刻はそちらの情報が表示されました。(mpgファイルでは編集できませんでした)

    Exifの取得は、以下のページが参考になると思いますがいかがでしょうか?

    「画像のExif情報を取得する、設定する: .NET Tips: C#, VB.NET, Visual Studio」
    http://dobon.net/vb/dotnet/graphics/getexifinfo.html

    • 回答としてマーク BALKAN-P 2011年1月3日 12:04
    2011年1月2日 17:57

すべての返信

  • >もしかして、画像ファイルの場合は、Exif情報から取得しているのでしょうか?

    そのようですね。撮影日時が存在するものは、たとえ画像を編集して保存しても撮影日時が日付時刻に、撮影日時の情報がないものは、ファイルの更新日時が表示されるようです。
    #文章を見つけることができなかったため、撮影日時を保存するデジカメと保存してくれない昔のデジカメのデータで確認してみました。

    >動画ファイルでは、撮影日時の項目自体がありません。

    右クリックしてプロパティを出して、詳細タブを見ていただいて、編集できるかどうかを確認いただけば、そのファイル形式がどういう情報を扱えるかが大体わかるかと。
    wmvですと画像と同様で、メディアの作成日時を設定すると、日付時刻はそちらの情報が表示されました。(mpgファイルでは編集できませんでした)

    Exifの取得は、以下のページが参考になると思いますがいかがでしょうか?

    「画像のExif情報を取得する、設定する: .NET Tips: C#, VB.NET, Visual Studio」
    http://dobon.net/vb/dotnet/graphics/getexifinfo.html

    • 回答としてマーク BALKAN-P 2011年1月3日 12:04
    2011年1月2日 17:57
  • Chukiさん、ありがとうございます。

    画像ファイルの場合の Exif情報の取得方法についてはわかりました。

    では、動画の場合は、どうすればよいのでしょうか?
    動画の場合も Exif情報 の様な何らかの情報が埋め込まれているのだと思いますが・・・。

    >右クリックしてプロパティを出して、詳細タブを見ていただいて・・・

    のプロパティに表示される情報の取得については、どうすればよういのでしょうか?

    よろしくお願いします。

    2011年1月2日 23:57
  • まず、画像ファイルと動画ファイルではメタデータの方式が違います。
    このため、同じ項目が存在しないのは十分あり得ることです。

    また、動画ファイルによって採用されているメタデータの方式が異なります。
    画像ファイルほど統一されていませんので、取り出すのは簡単にいかないかもしれません。
    (GDI+ のように抽象化する層がないかもしれません)

    実現するためには、個々のフォーマットにそれぞれ対応するコードを実装する(API やライブラリを使う、自分でバイナリレベルで読み込む)、あるいは何らかの抽象化するライブラリを探すといったところでしょうか。
    具体的な手法については、プランを持っていないので回答しかねます。

    # ID3v2 は mp3 や AVI などについてたりしますが、それがすべてではないはず。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2011年1月3日 3:10
    モデレータ
  • 動画ファイルを直接扱うには、各ファイルのタグについて知っている必要があります。
    この辺りは各ファイルの仕様をお調べください。

    抜き出し方はいろいろあります。ここで紹介されているようなWMFを使う方法や、OSのシェルをたたく方法や、ガッツリ自分で調べる方法などがありますが、画像のようにクラスが提供されているわけではないため、どれもあんまり簡単ではないかもです。

    「Metadata Editor をつくる | アカベコマイリ」
    http://akabeko.sakura.ne.jp/blog/2010/07/metadata-editor-%E3%82%92%E3%81%A4%E3%81%8F%E3%82%8B/

    「MP3ファイルからタイトルやアーティスト名などを取得するには?[C#、VB] - @IT」
    http://www.atmarkit.co.jp/fdotnet/dotnettips/591mp3tags/mp3tags.html

    2011年1月3日 3:16
  • こんにちは。

    ご回答どうもありがとうございます。
    動画は簡単にできない(クラスが無い)ということがわかっただけでも収穫です。
    これから動画についても勉強したいと思います。

    2011年1月3日 12:04