投稿

ラベル(その他)が付いた投稿を表示しています

ソフトウェアにおける日本時間のズレ

日本時間(JST)の時差は世界標準時(UTC)+9時間である。日本は国内時差は無いしサマータイムも採用していないので、それだけ覚えておけば大丈夫。 と思っていたのだが、この度そうでないことを知った。切っ掛けはWindowsのASPで動くバックエンドとChromeブラウザ間でUNIX時刻でやり取りをしていたとき。明治生まれの人の誕生日が微妙にずれる時があるのだ。 日本時間のブレ 調べた結果、日本時間は次の2パターンで+9時間でない場合がある。 1)~1888年 今の日本標準時が設定されたのがこの年(明治21年)だそうだ。ということはこれより前は日本時間自体が存在しないわけだが、システムによっては+9時間18分が採用されている。 2)1949年~1951年の夏 この時期は日本でもサマータイムが導入されていたらしい。なのでこの年の夏季はUNIX時刻も1時間ずれる。 環境による違い 例えばChromeブラウザでJavascriptを動かすと、上記の通りの結果が返ってる。 > new Date(1887, 0, 1, 0, 0, 0) Sat Jan 01 1887 00:00:00 GMT+0918 (日本標準時) > new Date(1950, 7, 1, 0, 0, 0) Tue Aug 01 1950 00:00:00 GMT+1000 (日本標準時) それぞれ+9時間18分、+10時間のタイムゾーンになっている。 今度はWindows PowerShellでやってみる。 > ((Date "1887/1/1") - (Date "1887/1/1" -AsUTC)).ToString() 09:00:00 > ((Date "1950/8/1") - (Date "1950/8/1" -AsUTC)).ToString() 09:00:00 両方ともUTCとの時間差は+9時間となっている。 ChromeブラウザやLinuxなどはタイムゾーンの設定をパブリックなデータベースの「tz database」から取得している。一方でWindowsの場合はMicrosoftが管理する時差データを使っている。Microsoftのデータベースでは上記2ケースの例外は考...

マウスのクリック不良と接点復活スプレー

イメージ
普段使っているSurfaceモバイルマウスの左クリックの調子が悪くなってしまった。強めに押さないと反応しない。 surfaceマウスはデザインもシンプルで、適度に薄く持ち運びやすいのと、何よりゴム部分が無いので加水分解でベタベタしないので気に入っている。まあまあいい値段なので新しくするか迷っていたところ、ネットで見かけた「接点復活スプレー」を使ってみたところ、見事に復活した。 まず上蓋を外す。外側から外せるツメではないので、無理やり外すしかない。ねじ止めでもう少し分解できるみたいだがクリックの接点は見えているので必要ない。 今回はクリック部分が物理的に擦り減ったり潰れたりはしてなかった。そういう場合はもちろんスプレーでは直らない。 左クリックの接点部分にヨドバシで400円弱で買ってきた「接点復活スプレー」を差し込んで、ほんのちょっとだけ付ける。そのあと内側にしみ込むようにしばらく接点をポチポチする。カバーを付けておしまい。 数日たったが問題なく使えている。 このスプレーは通電する被膜で接点部分を覆って、反応をよくするらしい。余計なところに吹きかけるとショートしてダメになるので注意が必要そうだ。 小さいほうのスプレーを買ったが、使った量は本当にちょびっとなのでまだまだ使える。これは備えておいてもいいかもしれない。