function DecodeDate(const Value: string; out DateTime: TDateTime; out DateTimeOffset: Integer): Boolean;
| Value | string. PDF 日付形式の PDF 日付文字列:D:YYYYMMDDHHmmSSOHH'mm'(例:"D:20240515120000+08'00'") |
| DateTime | TDateTime. デコードされた日付と時刻の値を受け取る出力パラメーターです |
| DateTimeOffset | Integer. 分単位の UTC オフセットを受け取る出力パラメーターです。正の値は UTC より東、負の値は西を示します |
Value が有効な PDF 日付文字列として正常に解析できた場合は True を返します。文字列が空、不正な形式、または PDF 日付形式に準拠していない場合は False を返しますDecodeDate は PDFium ユニットに属するユニットレベルのグローバル関数です。PDF 日付文字列を解析し、分単位の UTC タイムゾーンオフセットとともに Delphi の TDateTime 値へ変換します
PDF ドキュメントは日付を D:YYYYMMDDHHmmSSOHH'mm' 形式で格納します。O は UTC との関係(+、-、または Z)です。この関数を使用して、CreationDate や ModifiedDate などのプロパティが返す生の文字列をデコードします
DateTimeOffset 出力パラメーターには、符号付きの分単位 UTC オフセットが入ります(例:UTC+8 は 480、UTC-5 は -300)。DateTime 出力パラメーターには、PDF 文字列にエンコードされた現地時刻がそのまま設定され、UTC に調整されません
var
DT: TDateTime;
Offset: Integer;
begin
if DecodeDate(Pdf.CreationDate, DT, Offset) then
begin
ShowMessage('Created: ' + DateTimeToStr(DT));
ShowMessage('UTC offset (minutes): ' + IntToStr(Offset));
end;
end;