■23244 / ) |
DateTimeフォーマット |
□投稿者/ asuka (49回)-(2008/08/11(Mon) 21:10:26)
|
分類:[C#]
お世話になっております。asukaです。
IISのログ(System32/LogFiles/...)のログ時刻がGMT(世界標準時刻)なので、9時間足してJST(日本標準時刻)にしたと考えております。
コメント部分は#から始まるのですっとばせるとしまして、
その他のログ部は先頭から19文字が時刻であることまで分かっております。 ⇒[yyyy-MM-dd HH:mm:ss]
ファイルから1行読込んだバッファの先頭から19文字をstring型で取得して、DateTime型の変数に渡しております。 DateTime dtGMT = Convert.ToDateTime( strReadBuf.Substring(0,19) );
次に9時間足した日時を取得しております。 DateTime dtJST = dtGMT.AddHours(9);
ここからが問題なのですが、元あるGMTで記載されたバッファの日時をstring.Replace()で9時間足した文字に置き換えたいと思っているのですが、
dtJSTの値が[yyyy/mm/dd (h)h:mm:ss]と、メッセージボックスで見てみると時刻部分が1桁で表示されることがあります。
[yyyy-mm-dd hh:mm:ss]形式で[/]を[-]、年以外を0埋めの2桁で表示したいのですが、
DateTime.ParseExactでは決められたフォーマット([/]を[-]とか無理でした)でしか対応していないみたいなのですが、
何か良い方法はありますでしょうか?
現状はC++でやっていたように、年、月、日、時、分、秒の変数を宣言して、
年以外の変数の先頭に0を付けてから、後ろから2桁取得して文字列結合しようと思ってますが、
良い手があるようでしたら教えて頂けれると幸いです。
|
|