2010-12-14 17 views
1

私は少しうまく動作するヘルパーを書いた。私はこのような日付文字列を含むコード、細胞を、展開するときOLEDBの日付(時間)問題asp.net c#

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<FILENAME>;Extended Properties=\"Excel 12.0;HDR=Yes;\";"; 

残念なことに:ToStringメソッドを使用した後12/25/2008 12:00:00 AMではなく25/12/2008 00:00:0028/12/2008として返されるそれは、この接続文字列を使用しています。私はマシンのタイムゾーンなどを調整しました(すべてのマシンは現在イギリスのタイムゾーンです)が、これは何も変更されていません。私は、OLEDBがどのように動作するのかを決定するのは不思議です。目的は両方のマシンで25/12/2008 00:00:00を得ることです。

ありがとうございます!

クリスチャン

答えて

1

マシンが自分のロケール設定が変更されている必要があり、だけではなく、タイムゾーンの設定があります。私は彼らが別々だと信じています。

+0

を参照してください、あなたが望む形式で表示するためのNumberFormatを使用しています。あなたが参照するものをどこで変更するか知っていますか? – cs0815

+0

地域を変更した場合は、それをカバーすると思います。手動で日付を書式設定しているかもしれませんか? http://en.csharp-online.net/CSharp_Format_Specifiers%E2%80%94DateTime_Format_Specifiers – jocull

2

これは、に設定されているCultureと関係があります。それに応じてDateTimeをフォーマットする必要があります。

Standard Date and Time format strings

+0

ToString関数は、私に12/25/2008 12:00:00 AMまたは25/12/2008 00:00:00のどちらかに応じてこの機械。 – cs0815

+0

'.ToString(" dd/MM/yyyy HH:mm:ss ")'を使用して、どのマシンにインストールされていても同じフォーマットに保ちます。 –

+0

私はtostringメソッドが引数を許可するとは思わない... – cs0815

関連する問題