とりあえず、すぐに篩い落とすって訳じゃないんだね

 えっと、結果は6月の半ばだそうで、後は待ちですね。
 Vista Beta2 もそろそろ動き始めていますね。仕事の合間に IE7 Beta2 Jpn と PowerShell RC1 を取ってきていじってました。IE7 はそこそこいいんでないかと思います。ただ、普段 Donut 系のタブブラウザを使っているせいか、あまり魅力は感じなかったです。IE6 使うのも、WebMatrix にデータをアップするときぐらいだし。

 前に某所で#な人にも聞いたのですけど、やっぱり、頭が固いせいか PowerShell(旧MSH = Monad) がいまいち理解できずにいます。オブジェクト伝搬とかパイプとかどうなっているのやら。アイテムとしての振る舞いと、その識別をどうやっているのか、いまいちわからないです。うう、なんで理解できないのか、それがわからないところが駄目なんだろうなぁ。

 それで、PowerShell で何やってたかって言うと、DateTime をいじってました。
 DateTime を指定の TimeZone で文字列化したいのですが、いい手がないかなぁ、と。
 何に使うかというと、UserAgent の TimeZone に合わせて更新時刻の表記を変えたいんだけど、結局、JavaScript を経由したべたな置き換えしかないんですよね。まぁ、それは仕方がないとして、DateTime の文字列表記を指定の TimeZone にする方法がないかなぁと、探していました。
 こんな感じで作れればいいんだけど。

DateTime dt = DateTime::UtcNow;
dt.SetTimeSpan(TimeSpan("JST-9"));
Console::WriteLine(dt);

 もしくは、

Console::WriteLine(DateTime::Now.ToString(TimeZone("JST-9")));

 できないんだなぁ。これが。
 今の「啓発済み」のトップでは、FileInfo から LastWriteTime を取得して DateTime のUtcNow に AddTime(-9) で
String::Format( "{0}/{1}/{2} {3}:{4}:{5} JST-9", dt...);
としています。へぼいですね。
 TimeZone 構造体に GetUtcOffset があるのだから、SetUtcOffset があれば、ToLocalTime で作れるんでしょうけど。
 なんかいい手はないのかなぁ。