SQL Server には、.txt または .csv として CSV ファイルに出力される日時フィールドがいくつかあります。Excel 2010 で .csv ファイルを自動的に開くと、日時が mm:ss.0 にフォーマットされ、日付部分が完全に削除されます。
私はこれを読みました:ExcelでCSVファイルを開くとフォーマットが変更され、これ:Excelで認識されることが保証されている日付形式
以下は、CSV ファイル (.txt) に保存されている未加工のテキストのスニペットです。日付部分は ISO 形式であることに注意してください。時間部分にはミリ秒があります。
"EVENTSTARTDATE","EVENTTITLE","PURCHASEDATE"
"2013-04-17 00:00:00.0","Test Event","2013-04-17 15:06:27.56"
Excel での書式設定は次のとおりです。
EVENTSTARTDATE EVENTTITLE PURCHASEDATE
00:00.0 Test Event 06:27.6
フィールドをクリックすると、次の値が表示されます。
EVENTSTARTDATE PURCHASEDATE
4/17/2013 12:00:00 AM 4/17/2013 3:06:28 PM
「セルの書式設定...」に移動してフィールドの書式を見ると、「カスタム」と「mm:ss.0」になっています。日付形式に再フォーマットでき、正常に動作するため、明らかにデータ自体は正しいです。Excel が時刻の部分だけを書式設定するのはなぜですか? また、なぜ時間を削除するのですか? フィールド タイプが「一般」の場合、Excel は日時データを解析できませんか?
その他の関連情報: ColdFusion 9 を使用しており、CreateODBCDateTime() 関数を使用するコードがあります。
<cfif isDate(raw)>
<cfset raw = CreateODBCDateTime(raw)>
</cfif>