【愛知】 「うるう年」認識せず 豊川など3市3町、システム障害で窓口停止

このエントリーをはてなブックマークに追加
268名無しさん@八周年:2008/03/02(日) 13:50:51 ID:IcBdELT20
>>267
符号付き32bit整数らしい。なんでかは知らん。
269名無しさん@八周年:2008/03/02(日) 14:22:56 ID:IcBdELT20
ソニー、ワンセグ「ウォークマン」に“うるう年”問題
http://www.watch.impress.co.jp/av/docs/20080229/sony.htm

ソニーは29日、ワンセグ対応ウォークマンA「NW-A910」シリーズの、番組表(EPG)機能の不具合を発表した。

対象機種はNW-A916/A918/A919の3製品。発生する症状は、うるう年の2月29日に、
番組表の時刻表示が「**:**」と表示されてしまい、録画予約ができないというもの。
また、番組情報を取得できないため、「この番組を録画」で録画開始しようとすると、
「番組の終了時刻が取得できませんでした。8時間録画します」と表示され、録画が開始されてしまう。

なお、2月28日以前に29日の番組を予約した場合は、正常に録画される。2月29日以外の日時には
同不具合は発生しないため、ソニーでは29日中はEPGを利用せず、日時指定予約で録画予約を行なうよう
呼びかけている。また、後日ファームウェアのアップデートで、不具合を修正する予定。

□NW-A916/918/919の番組表不具合について
http://www.sony.jp/support/walkman/information/info_080229.html

270名無しさん@八周年:2008/03/02(日) 16:10:25 ID:z4uEIw/20
オリンピックの年は閏年。これ豆知識な
271名無しさん@八周年:2008/03/02(日) 16:16:37 ID:kpnMmJIcO
じつは閏年は対応しなくても問題なかった
400で割れるから
2000年対応は西暦下2桁がメイン
問題は2100年だけだった


閏年に対応してないとかは常識で有り得ないよな
オレはテストデータの日付は20000229とか19000101、29991231とかにしかしないなあ
272名無しさん@八周年:2008/03/02(日) 16:30:04 ID:4MHL+xEP0
year % 4 == 0 && year != 2100 でいいってことか?
273名無しさん@八周年:2008/03/02(日) 16:37:15 ID:t6VKIQpc0
とりあえず year%400 == 0 の条件式が無かったとしても
次にこの式が真になる年は2400年だから
俺らが生きてる間は問題ナッシングwwww

孫の孫の孫の…孫は迷惑するかもしれんがwwww
274名無しさん@八周年:2008/03/02(日) 16:38:44 ID:oanYQQN40
UIコントロールの層でガッチガチに制約かけまくれば楽だ。
キーボードからの直接日付入力を禁止すればさらに効果絶大。
275名無しさん@八周年:2008/03/02(日) 16:49:15 ID:z4uEIw/20
だから年号にしておけといったのに(´・ω・`)
276名無しさん@八周年:2008/03/02(日) 17:14:51 ID:I0StDLuKO
ばか
277名無しさん@八周年:2008/03/02(日) 17:17:24 ID:JuP71XIG0
つーか、日付処理を自前でやるかねw
頭おかしいんじゃね
278名無しさん@八周年:2008/03/02(日) 17:25:59 ID:4MHL+xEP0
>>277
アセンブラだから
279名無しさん@八周年:2008/03/02(日) 18:08:52 ID:TlnO4umA0
ぐわ、ここにも閏年バグが!
正直、信じられん。閏年とかは納品前に絶対チェックするはずなのに。
280ナオツィ ◆RlkJ/NAOTU :2008/03/02(日) 18:12:45 ID:8LylsCjeO
どうせ五年程度でリプレイスするんだから、うるう年を共通モジュールに書けばいいのに。
281名無しさん@八周年:2008/03/02(日) 18:16:32 ID:QMdZeIA80
>>264
それは エイプリルフール
282名無しさん@八周年:2008/03/02(日) 18:17:38 ID:klJXyLI50
>1年前から1年後までの
こんなとき、普通どんな回避方法をとるの?
365日前から、365日後まで、と言う処理でやるの?
「もしうるうどしだったら」を毎回処理するの?
283名無しさん@八周年:2008/03/02(日) 18:27:07 ID:t2FR7Vqu0
XXXX年YYY日でいいのに、なまじ太陽暦なんか使ってるから混乱が起きる。
XXXX年YYY日方式でも閏年は必要だが月ごとに日数の違う「月」なんて不要になるし
閏年の日数の調整も年末でいいから楽。
一月が三旬のペースで世の中が進んでいるなら月にも意味があるが、七日単位の週が基本になった以上は
もう月なんてものは意味がない。季節感を表すくらいなもの。
だったら素直に旧暦で季節感を味わえばいい。
284名無しさん@八周年:2008/03/02(日) 18:27:58 ID:pyX+m2ge0
>>282
日付変換用のサブプログラムを作っておいて、処理を共通化

「今日の日付」と「−1年」を値でサブプログラムに引き渡して、開始日にする
「今日の日付」と「+1年」を値でサブプログラムに引き渡して、終了日にする
開始日≦データ日付≦終了日ならOK、該当しなければNG

今日の日付は1つしかないから、処理の最初に1回だけやればいい
285名無しさん@八周年:2008/03/02(日) 18:28:25 ID:W9pZbRmn0
でも、 year が 1900 を引いた後の値だったらまずいな。 2000 が 100 だから、
year % 400 == 0
は意味がない。
286名無しさん@八周年:2008/03/02(日) 18:34:42 ID:BDM/TOIz0
>>285
その2000年問題、今では懐かしいな。
287名無しさん@八周年:2008/03/02(日) 18:36:10 ID:t6VKIQpc0
( year - year % 400 ) % 400 == 0
で解決
288名無しさん@八周年:2008/03/02(日) 18:37:17 ID:JvUT6z3o0
マイクロソフトの作ったわけわからん使い捨てプログラム言語の日付計算ライブラリなんて使わないんじゃないの?
普通。
289名無しさん@八周年:2008/03/02(日) 18:38:06 ID:TlnO4umA0
/* 閏年の判定方法 */

int year, flag; // 0:平年 1:閏年

year = 年度取得関数();
flag = ((year % 4 == 0 + (year % 100 == 0) + (year % 400 == 0)) % 2 == 1); //←これで完璧
290名無しさん@八周年:2008/03/02(日) 18:40:21 ID:6x5s00UM0
どうせ、下請けの下請けに中国人使ったんだろ。
動作確認も中国人で役人はハンコオスだけ。

コスト意識ってのが皆無ってのは怖いね、安く作ればコスト削減って勘違いしてるから。
291名無しさん@八周年:2008/03/02(日) 18:45:38 ID:JvUT6z3o0
中国人の方が優秀だろ。

それはそれとして、休日の判定なんかが必要になる場合は100年後くらいまでの各年の情報をテーブルにもってそうなもんだけどな。
役所なら元号の変換も必要になるだろうからそのための情報も。
その方が融通がきくから。
組み込みでもないのにコードで閏年を判定するなんてちょっとよくわからない。
292名無しさん@八周年:2008/03/02(日) 18:48:54 ID:PNZ5DKN+O
>>271
中途半端な知識があると混乱するかもと思ったが
100で割り切れても400で割り切れる場合は閏年になるまでは知らないとか
でもたいていはカレンダーとかみて気付きそうだな
293名無しさん@八周年:2008/03/02(日) 18:49:18 ID:t6VKIQpc0
>>291
それはメモリの無駄遣いかつ100年後には使い物にならない糞設計なんでは…
294名無しさん@八周年:2008/03/02(日) 18:51:53 ID:trfoKG0pO
この程度で済むのだったら、シャカリキになってPG改修するよりは、今回みたく運用で回避した方が安上がりかもしれない。
295名無しさん@八周年:2008/03/02(日) 18:53:37 ID:kNBo0JZL0
2004年の2月29日は確か日曜日。

このシステム、いつからサービスしてるかわからないけど、
2004年は役所が閉まってたから発覚しなかったのではないかな。


296名無しさん@八周年:2008/03/02(日) 18:53:41 ID:klJXyLI50
>>284 >>289
なるほど
俺は業務上必要に迫られてVBA(MS-ACCESS)を覚えた、
素人同然の営業部内の社内SE担当なんだけれど、
月単位でしか処理を行わないので、うるう年の処理を考慮したこと無かったので、
どうするんだろうと疑問に思ったんです。
締め日処理で月の最終日を作ることはあるけれど、「指定月の翌月1日の前日」としているし、
うるう年の処理、知らなかった1人です。
297名無しさん@八周年:2008/03/02(日) 18:56:46 ID:JvUT6z3o0
>>293
逆に考えるんだ。100年に一回テーブルをメンテするだけで永遠に使えると考えるんだ。
どうせその100年のうちに新しい休日ができたり、休日の日付が変わったりするし
平成だっていつ終わるかわからない。
そのためのカレンダーメンテの機能というのはどうせ必要になるんだから。
298名無しさん@八周年:2008/03/02(日) 19:00:15 ID:W9pZbRmn0
>>288
こんなこともあるからな・・・。

システム日付が 2038 年以降に設定されていると、Windows XP のセットアップが途中で停止する場合がある
http://support.microsoft.com/kb/436249/ja

>解決方法
>この問題を解決するには、2038 年 1 月 19 日以降のシステム日付を使用しないでください。

299名無しさん@八周年:2008/03/02(日) 19:02:12 ID:LfaRJdRj0
閏年って何?ってゆとりが本当にいそうで怖い
300名無しさん@八周年:2008/03/02(日) 19:05:11 ID:t6VKIQpc0
>>297
まあ休日、年号判定となるとアップデート前提になるだろうけど
これは閏年判定だからな
301名無しさん@八周年:2008/03/02(日) 19:06:08 ID:d/N4LtInO
閏年ってなに?
302名無しさん@八周年:2008/03/02(日) 19:07:11 ID:JvUT6z3o0
閏日の存在する年のことだな。
303名無しさん@八周年:2008/03/02(日) 19:14:18 ID:W9pZbRmn0
>>295
確かに日曜日だ。確認した。
304これだけじゃんね・・・:2008/03/02(日) 19:16:16 ID:LblAg6vH0
if( year % 400 == 0 ){
intercalaryFlg = true;
}else if( year % 100 == 0 ){
intercalaryFlg = false;
}else if( year % 4 == 0 ){
intercalaryFlg = true;
}else{
intercalaryFlg = false;
}

if(intercalaryFlg){
System.out.println("今年は閏年です");
}else{
System.out.println("今年は閏年ではありません");
}
305名無しさん@八周年:2008/03/02(日) 19:22:38 ID:LblAg6vH0
>>241
その論法では逃げられないようになっている。
年齢計算ニ関スル法律(M35法50)により、「誕生日の前日の終了を以て年齢加算」になるので
2/28終了→3/1の時点で年を取る。
306名無しさん@八周年:2008/03/02(日) 19:23:40 ID:e/tRFsr00
今時、閏年の計算を自前でやるのが間違い
専用のライブラリやクラスを使え
307名無しさん@八周年:2008/03/02(日) 19:28:12 ID:Iy8WhcEi0
/* これが決定版 */

!(y % 4) && y % 100 || !(y % 400) ? /*閏年*/:/*平年*/;
308名無しさん@八周年:2008/03/02(日) 19:28:48 ID:fVpiuZ7g0
ウチの電波時計も3月3日になってもーた。
309名無しさん@八周年:2008/03/02(日) 19:29:32 ID:RImxXCXG0
一度、秒に変換して日付に戻せばいいと思うよ。
310名無しさん@八周年:2008/03/02(日) 19:47:10 ID:w4c8CxMz0
>>305
これ、意外と知られてないね。
4月1日生まれは早生まれとか。
311名無しさん@八周年:2008/03/02(日) 20:36:41 ID:oanYQQN40
>>305
なるほどね
312名無しさん@八周年:2008/03/02(日) 22:04:14 ID:XxPe2WSl0
>>297
春分の日と秋分の日は政府が前の年に定めるので
正しくやるためには結局毎年修正が必要。
313名無しさん@八周年:2008/03/02(日) 22:18:15 ID:puiLTh9n0
レベル低すぎだな。
314名無しさん@八周年:2008/03/02(日) 22:52:06 ID:nMOnsmp/P
どうせ役所はこの手の事には至極無能なんだから、
毎年2月末日は他の休日と出勤日入れ替えで対応すればいいじゃない。
315名無しさん@八周年:2008/03/02(日) 22:53:27 ID:yahS8qQE0
4年に一度かならずシステム障害を起こす気か。
316名無しさん@八周年:2008/03/02(日) 23:16:50 ID:CJtqJLy60
>>310
そうなっってしまったのが、法案作成者のうっかりミス。
(プログラムなら、バグと言えるお粗末なカンチガイによるもの)

4/1〜3/31で一学年にするつもりで、「4/1時点で満6歳の子が小学校入学」として法案を提出。
気付いたときには既に法案が通った後だったので、結局そのまま。
317名無しさん@八周年
>>98
そうだよな。
考える必要すらない。