C# で画像が作成された日付を取得しています。これは私が使用している方法です。
foreach (PropertyItem propItem in image.PropertyItems)
{
if (propItem.Id == 0x0132)
{
date = (new System.Text.ASCIIEncoding().GetString(propItem.Value));
MessageBox.Show("The picture " + file + " was taken at " + date);
image.Dispose();
date = date.Substring(0, 4);
monthstring = getPath + "\\" + date;
if (!Directory.Exists(monthstring))
{
Directory.CreateDirectory(monthstring);
}
File.Move(file, monthstring + "\\" + filetype);
progressBar1.PerformStep();
}
}
さて、この方法はうまくいきます-時々。場合によっては、完全に間違った日付が返されます! 私が間違っていることはありますか?2005 年に撮影されたのに、今日撮影されたと表示されることもあります。月が間違っていることもあります。ほとんどの場合、台無しになるのはその年です。