アカウント名:
パスワード:
日本国内だけで利用されるから、タイムゾーン決め打ちで自前の時刻処理を使ってるんだね
今回のはいわゆるタイムゾーンのせいではない。逆に自前処理だったら問題は小さかった。変数の値をファイル保存/読み込み処理を、何も考えずに開発言語の標準ライブラリにお任せしたからこんな問題が起きた。変数の値を自前でファイル保存してればいわゆるタイムゾーンの問題(時差で多少狂う程度の小さな問題)だけで済んだ。
#極論を言えばxamarinのせい!w
それがホントならxamarin何やってんのって感じだな
いや、ロケールをデフォルト(実行環境依存)にしていたから起きるわけで、プログラマの責任だよ今は発生する場面がなさそうだけど、小数点(カンマとドット)も同じ問題を孕んでる
全部 ISO 基準にしろよ、と思うかもしれないが、出力結果がどう使われるかは設計次第なわけで、人が読むテキストなのか機械が読むテキストなのかを区別するのはプログラマの責任人が読むテキストなら、現地環境で可読性の高い現地ロケールで出力されて欲しいからね
Dateをシリアライズして保存するのにロケールに依存する必要なんかなくないか?「保存用の保存」してロケールに依存しちゃうんじゃxamarinおかしいっしょ「表示用の文字列化して保存、読み込んだ後Dateに変換」してるんだったらプログラマがおかしいけど。
> Ver.1.2.2で混入したものとみられている。らしいから、バイナリだった保存を「読めたほうが良いか!」と文字列化/復元に変えてやっちゃった、とかかなぁ
ぶっちゃけバイナリだからミスしないわけでもないし
シリアライズ値でロケールに依存しないっていうと、UNIXエポック時間なんかがいいのかな
シリアライズ元のDate自体がロケールに依存してないのかな。サマータイムとか依存してたらプログラム上は表示以外はずっとUNIXエポックのまま扱わない限り問題起きそう
Unix timeで扱うとバグを生むからこういうライブラリがあるのよ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
決め打ち (スコア:0)
日本国内だけで利用されるから、タイムゾーン決め打ちで自前の時刻処理を使ってるんだね
Re: (スコア:0)
今回のはいわゆるタイムゾーンのせいではない。逆に自前処理だったら問題は小さかった。
変数の値をファイル保存/読み込み処理を、何も考えずに開発言語の標準ライブラリにお任せしたからこんな問題が起きた。
変数の値を自前でファイル保存してればいわゆるタイムゾーンの問題(時差で多少狂う程度の小さな問題)だけで済んだ。
#極論を言えばxamarinのせい!w
Re: (スコア:0)
それがホントならxamarin何やってんのって感じだな
Re: (スコア:3, 興味深い)
いや、ロケールをデフォルト(実行環境依存)にしていたから起きるわけで、プログラマの責任だよ
今は発生する場面がなさそうだけど、小数点(カンマとドット)も同じ問題を孕んでる
全部 ISO 基準にしろよ、と思うかもしれないが、出力結果がどう使われるかは設計次第なわけで、人が読むテキストなのか機械が読むテキストなのかを区別するのはプログラマの責任
人が読むテキストなら、現地環境で可読性の高い現地ロケールで出力されて欲しいからね
Re:決め打ち (スコア:0)
Dateをシリアライズして保存するのにロケールに依存する必要なんかなくないか?
「保存用の保存」してロケールに依存しちゃうんじゃxamarinおかしいっしょ
「表示用の文字列化して保存、読み込んだ後Dateに変換」してるんだったらプログラマがおかしいけど。
> Ver.1.2.2で混入したものとみられている。
らしいから、バイナリだった保存を「読めたほうが良いか!」と文字列化/復元に変えてやっちゃった、とかかなぁ
Re: (スコア:0)
ぶっちゃけバイナリだからミスしないわけでもないし
Re: (スコア:0)
シリアライズ値でロケールに依存しないっていうと、UNIXエポック時間なんかがいいのかな
シリアライズ元のDate自体がロケールに依存してないのかな。サマータイムとか
依存してたらプログラム上は表示以外はずっとUNIXエポックのまま扱わない限り問題起きそう
Re: (スコア:0)
Unix timeで扱うとバグを生むからこういうライブラリがあるのよ
Re: (スコア:0)