Tag Archives: datetime

C#とjavascriptの時間

基本

時間を表す言葉には時刻と時間間隔があるので時間という言葉ではあいまいになる。
どちらの場合も単位と基準点が問題になる。単位は秒とかミリ秒とかのこと、基準はUTCとか日本時間のこと。

Unix time stamp

UTCで1970/1/1からの秒を表す。今の値はこことかでわかる。

C#でこの値を得るには以下のコード

C#のDateTimeは0001/1/1からの100ナノ秒で管理しているようだ。3つの引数をとるコンストラクタはグレゴリオカレンダーで初期化するのでこれでいいらしい。

javscriptでこの値を得るには以下のコード

javascriptのDateはUTCで1970/1/1からのミリ秒で管理しているようだ。デフォルトのコンストラクタは今でgetTime()はミリ秒でUnix Epoch(=Unix time stamp)を返すので1000で割って秒にしている。

Unix time stampからオブジェクトをつくる

C#の場合は以下のようにやるらしい

これだとローカル時間が帰るので以下のように修正

javascriptの場合は以下

ソースコード

https://github.com/ambiesoft/blogprogs/tree/master/5705

MySQLのdatetimeに0000-00-00 00:00:00を設定できない

wordpressの昔のデータベースのデータスキームでdatetimeのデフォルト値がユーザ設定の’0000-00-00 00:00:00’になっていたのだが、MySQLの新しいバージョンではこの値は無効になったらしく、データの操作がうまくできなくなったので、この値を’1970-01-01 08:00:00’に変える。

sqlで以下を実行、post_dateは対象のコラム

この方法以外にも、sql_modeを設定したり、他の方法もあるようだがスルー