2016-07-27 3 views
0

でExcelの数値形式に00私は、XSLT 2.0でコンバートYYYY-MM-DDT00:00:XSLT

41974 (numeric excel date format) 

中に、

2014-12-01T00:00:00 (YYYY-MM-DDT00:00:00) 

を変換する必要があります。どんな援助も深く感謝しています。

答えて

0

のXPath/XSLT 2.0を使用すると、別のxs:dateTimeをsubstractすることができますし、時間を持っている、あなたはその後、継続時間から日を抽出することができます。

days-from-duration(xs:dateTime('2014-12-01T00:00:00') - xs:dateTime('1899-12-30T00:00:00')) 

これは日付1899年12月30日には同等であると仮定し0になります。この数字は、「負の整数は1899年12月30日より前の日付を表します」と示唆しています(https://msdn.microsoft.com/en-us/library/office/gg278460.aspx)。

+0

は、チャームのように働きました..多くのありがとう.. –

+0

これはAltova XML Spyで動作しましたが、ビジュアルスタジオでは以下のエラーが発生します。重大度:17連鎖エラー:XSLTHandler :: performTransform - HRESULT = [0x80004005]、メッセージ= [未指定エラー]、Description = [Namespace 'http://www.w3.org/2001/XMLSchema'任意の機能。 ]必要な名前空間が確保されていることを確認しました。 –

+0

スタイルシートに 'version =" 2.0 "'がありますか? Visual Studioでは、どのXSLTプロセッサを使用していますか? Microsoft独自のXSLTプロセッサはXSLT 2.0をサポートしていません。1.0のみです。 –