C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
シリアル値から日付に戻す
(過去ログ 2 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 3 記事 (1 - 3 表示)] <<
0
>>
■1903
/ inTopicNo.1)
シリアル値から日付に戻す
▼
■
□投稿者/ 山崎
二等兵(1回)-(2005/11/18(Fri) 09:19:53)
分類:[C#]
分類:[C#]
分類:[C#]
C#初心者です。よろしくお願いします。
C#.NETのWEBアプリにてEXCELファイルを読み込んで日付を取得しているのですが、
日付がシリアル値(2005/10/10 → 38635)で取得してしまうので、
それをもとの日付形式に戻したいのです。
何か良い手はないでしょうか?
0
引用返信
編集キー/
編集
■1909
/ inTopicNo.2)
Re[1]: シリアル値から日付に戻す
▲
▼
■
□投稿者/ 魔界の仮面弁士
大尉(40回)-(2005/11/18(Fri) 13:17:38)
分類:[C#]
Excelの値は、どのようにして読み込んでいますか?
Excel.Range 経由ですか? それとも ODBC経由?
ちなみに、Excel.Range 経由の場合は、Range.Value2 で 38635 、
Range.Value の場合は 2005/10/10 が取得できるようで。
> それをもとの日付形式に戻したいのです。
とりあえずは、DateTime.FromOADate メソッドが使えるでしょう。
その逆は、ToOADate メソッドですね。
ただし Excel の場合は、シリアル値 0 を 1900/1/0 という特殊な日付値として
扱いますので、1未満のシリアル値に対する調整だけは必要かも知れません。
0
引用返信
編集キー/
編集
■1910
/ inTopicNo.3)
Re[2]: シリアル値から日付に戻す
▲
▼
■
□投稿者/ 山崎
二等兵(3回)-(2005/11/18(Fri) 13:42:42)
分類:[C#]
書き込む情報が足りませんでした。申し訳ないです。
値の取得方法はExcel.Range 経由でvalue2で取得していて、
valueに変更したらすんなり直りました!
valueとvalue2の違いも
「Value2 プロパティでは、通貨型 (Currency) および日付型 (Date) のデータ型を
使用しないことだけが、Value プロパティと異なります。」
みたいで、問題なしです。
本当にありがとうございます!
取得後の変換でずーっと凝り固まって考えていたので、
2日作業が止まりました…。とほほ…。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-