くだすれDelphi(超初心者用)その60【Embarcadero】 (528レス)
1-

8
(1): デフォルトの名無しさん [age] 2024/01/18(木) 17:47:27.10 ID:+d+VSHHF(1) AAS
D6でmp4/mov動画フォーマットデータの日時データ変換についての質問です。
QuickTime File Format | Apple Developer Documentation
外部リンク:developer.apple.com
ExifTool 外部リンク:owl.phy.queensu.ca
データ trak の"Creation time""Modification time" は4バイトです。
00 00 00 01 は 1970/01/01 00:00:01 でどうやら UNIXエポック っぽいのですが
Delphiでの
uses DateUtils;
--
var
CDateTime: TDateTime;
i64: Int64;
Hex4bytes:String;
--
i64:=StrToInt64('$'+ Hex4bytes);
CDateTime:=UnixToDateTime(i64);
Memo1.Lines.Add(FormatDateTime('yyyy/mm/dd hh:nn:ss', CDateTime));
--
Hex4bytes:='D54D9B4C'; の場合
2083/05/27 08:43:56 ← 結果X
2017/05/26 08:43:56 ← これが正解

Hex4bytes:='DD6682B3'; の場合
2087/09/15 16:47:47 ← 結果X
2021/09/14 16:47:47 ← これが正解
となって失敗します。
'1970/01/01 00:00:00' に IncSecond() で入れても同様になるため
始点は同じでもフォーマットが違うと思い至りましたが
MP4/MOV 等フォーマット系も調べても分らないのです。
変換式、誰か分りませんか?
1-
あと 520 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s