C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 44 を表示中)
■23328 / )  Re[2]: DateTimeフォーマット
□投稿者/ asuka (50回)-(2008/08/12(Tue) 19:58:15)
■魔界の仮面弁士さん
返信ありがとうございます。

>>IISのログ(System32/LogFiles/...)のログ時刻がGMT(世界標準時刻)なので、
>>9時間足してJST(日本標準時刻)にしたと考えております。
> Microsoft Log Parser で、
>  string query = @"SELECT TO_LOCALTIME(TO_TIMESTAMP(date,time)) as JSTDate, 〜 FROM 〜";
>  LogRecordSet oRecordSet = oLogQuery.Execute(query, oEVTInputFormat);
> のようなクエリを投げるのが手っ取り早いかも。

凄いですね、、、
このような手法は知りませんでした。
確かにこちらの方がよさそうですが、何かしらのDBにテーブルを作ってログを格納する必要があるのでしょうか?



>>その他のログ部は先頭から19文字が時刻であることまで分かっております。
> ログ内の位置は、IIS のログ設定次第で変わりますよ。

頂いたコメントを見てかなり泣けました・・・
僕がやっていたのはW3Cオンリーで、しかも日付と時間を出していないと使えないようです。
下調べが足りませんでした。><



>>dtJSTの値が[yyyy/mm/dd (h)h:mm:ss]と、メッセージボックスで見てみると時刻部分が1桁で表示されることがあります。
> 日付型の dtJST をメッセージボックスに表示させるために、どのようなコードを書いているのでしょうか?

MessageBox.Show(dtJST);
としているだけなのですが、稀にhhがhで表記されているのを見つけてしまいました。



>>[yyyy-mm-dd hh:mm:ss]形式で[/]を[-]、年以外を0埋めの2桁で表示したいのですが、
> string.Format や、DateTime.ToString で書式指定すれば、表示対応できるかと思います。たとえば、
>  string stJST = dtJST.ToString("yyyy-MM-dd hh:mm:ss");
> とか、あるいはカルチャも指定して
>  //using System.Globalization;
>  string stJST = dtJST.ToString("yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture);
> とか。

出来ました・・・
今回は仕様もかなり限定ですが、助かりました。
本当にありがとうございました。

解決済み
返信 編集キー/


管理者用

- Child Tree -