私はmsxmlを使ってxmlファイルを解析しています。言語はC++です。 xmlファイルにはxsd:dateTime形式の日付と時刻が含まれています(このようなもの:2009-04-29T12:00:00Z)msxmlでxsd:dateTimeを読み取るには?
xsd:dateTimeをSYSTEMTIME、FILETIMEなどに簡単に変換できますか? VariantTime?
私はmsxmlを使ってxmlファイルを解析しています。言語はC++です。 xmlファイルにはxsd:dateTime形式の日付と時刻が含まれています(このようなもの:2009-04-29T12:00:00Z)msxmlでxsd:dateTimeを読み取るには?
xsd:dateTimeをSYSTEMTIME、FILETIMEなどに簡単に変換できますか? VariantTime?
これはおそらくあなたに役立ちます:Using strptime to parse ISO 8601 formated timestamps on ioncannon.net
あなたはjavascriptを使用することができます。
<xsl:transform
id="integra-transformer"
version="1.0"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="urn:date-scripts">
<xsl:output method="xml" indent="yes" />
<msxsl:script
implements-prefix="date"
language="javascript">
<![CDATA[
Date.prototype.toISO8601ShortString = function() {
var zeropad = function (num) { return ((num < 10) ? '0' : '') + num; }
var str = "";
var date = new Date();
str += date.getUTCFullYear();
str += "-" + zeropad(date.getUTCMonth() + 1);
str += "-" + zeropad(date.getUTCDate());
str += "T" + zeropad(date.getUTCHours()) +
":" + zeropad(date.getUTCMinutes());
return str;
}
function getToday()
{
var d;
d = new Date();
return(d.toISO8601ShortString());
}
]]>
</msxsl:script>
<xsl:template match="/">
<date>
<xsl:value-of select="date:getToday()"/>
</date>
</xsl:template>
</xsl:transform>
は、あなたが変換を行うbeforスクリプトを有効にすることを忘れないでください:あなたの答えのための
xslDom.setProperty("AllowXsltScript", true)
あなたの答えをありがとうが、あなたのスクリプトがxsd:dateTimeではなくxsd:dateTimeからの日付をxsd:dateTimeに変換することを理解する限り、 "from xsd:dateTime"を変換する際の問題は、xsd:dateTimeがさまざまな構文を許すことです(例えば、日付の代わりに週番号など) – Name
感謝を。 strptimeは非常に興味深い関数ですが、Windowsでは利用できません... bsdライセンスの下でstrptimeの実装をインターネット上で見ましたが、Windowsでコンパイルするまではかなり動作する必要があると思います... – Name
暗闇の中のショット、本当に。ごめんなさい。 : - \ – Tomalak
それでも良い答えです。これは、UNIX上で同じことを探している人を助けるかもしれません。そして、それは私にWindows上の解決策を見つけるための新しい検索指示を与える。 – Name