Top / Programming / C++Builder / XML スキーマの日付時刻型を扱う

XMLスキーマの日付時刻型を扱う

TXSDateTimeクラスを使うと、スキーマの日付時刻型の文字列とTDateTime型を相互に変換できます。

#include <XSBuiltIns.hpp>
TXSDateTime* XSDateTime = new TXSDateTime();

XMLスキーマの日付時刻型の文字列をTDateTime型に変換する

TXSDateTime* XSDateTime = new TXSDateTime();

//日本時間の2012年7月17日21時37分50秒
XSDateTime->XSToNative("2012-07-17T21:37:50+09:00");
//TDateTimeに変換する
TDateTime DateTime = XSDateTime->AsDateTime;  //=> 2012/07/17 21:37:50

HourOffsetプロパティとMinuteOffsetで地域時間を調整できます。

//アメリカ合衆国東部標準時
XSDateTime->HourOffset = -5;
XSDateTime->MinuteOffset = 0;
TDateTime DateTime = XSDateTime->AsDateTime;  //=> 2012/07/18 11:37:50

TDateTime型をXMLスキーマの日付時刻型の文字列に変換する

TXSDateTime* XSDateTime = new TXSDateTime();
XSDateTime->AsDateTime = TDateTime(2012, 7, 17, 21, 37, 50, 0);
UnicodeString s = XSDateTime->NativeToXS(); //=> 2012-07-17T21:37:50.000+09:00

関連

更新履歴