レポート送信で100/01/01になってしまう

[上に] [前に] [次に]
Tomy 2000/01/11(火) 13:39:08
皆さんお世話になっております。

wwwcount.cgiのVer.3.07を使っておりますが、
レポート送信で日付が100/01/01になってしまいます。
どこか、編集しなければいけないのでしょうか。

ラウォッチ 2000/01/11(火) 14:45:50
現状の
$date_now = sprintf("%02d/%02d/%02d", $year, $mon + 1, $mday);

$date_now = sprintf("%02d/%02d/%02d", ($year)%100, $mon + 1, $mday);
に修正してみてください。

Tomy 2000/01/11(火) 16:06:24
どもども

教えてもらった通りにやったら2000年になりました。

ところで、
----------------------------------------------------------
# 今日の日付を得る
#
($sec, $min, $hour, $mday, $mon, $year) = localtime(time());
$date_now = sprintf("%04d/%02d/%02d", 1900 + $year, $mon + 1, $mday);
$time_now = sprintf("%02d:%02d:%02d", $hour, $min, $sec);

------------------------------------------------------------
のdate_nowですよね?
ここの1900+で2000年対応になっているのでは?

2000/01/11(火) 16:35:45
いや、ラウォッチさんの書き込みの部分とは別です、
$date_now = sprintf("%04d/%02d/%02d", 1900 + $year, $mon + 1, $mday);
では、$yearは更新されません、つまりレポート送信ようの日付の年は100のままです、
$year.=1900; じゃないでしょ?!

2000/01/11(火) 17:26:38
修正
$year.=1900; ×
$year+=1900; ○

ラウォッチ 2000/01/11(火) 18:59:30
わけわかりません。頭が混乱しています!

先ほどのアドバイスは間違って、Ver3.05でした。
Ver3.07は
>ここの1900+で2000年対応になっているのでは?
確かに、なっていると思います。

つまり、3.07では100/01/01にならず 2000/01/01 なるはずです。
しかし、100/01/01になって、しかも ($year)%100 で2000年 OKとは?

あと、@さんご指摘の$yearはこのsprintf以外使用されていません。
どうなっているのだろ〜?

2000/01/11(火) 19:29:03
ごめん、また間違い(T_T)

2000/01/11(火) 19:37:46
>Tomyさんへ
問題が発生した時のVerは間違いなく3.07(1/3リリース)ですか?正直この現象だと、Tomyさんの使ってたVerが古かったとしかおもえないので。
あと、ラウォッチさんの修正だと日付がYY/MM/DDですよね、
でVer3.07だとYYYY/MM/DDだから2000/01/11とかでログが取れてるとしたら、
動いているのは3.07しか考えられないですよね。
(Tomyさんのみぞ知るってカンジですね)

Tomy 2000/01/11(火) 20:07:16
[[解決]]
Tomyです。
皆さんありがとうございました。
結局デフォルトに戻しても2000/01/01の形で来ました。
今までの原因は残念ながらわかりません。
単なる編集ミスでしょうか。
それともファイルを転送するときにミスったかなぁ?

あっ、それと正常に送信される前に
0000/01/01の形のが一通来ましたけど
これって何でしょう?

ではでは

andi 2000/01/11(火) 21:24:48
最後のやつは%04dの時じゃじゃないでしょうか。

これは4桁の10進数を表示する。
ただし桁が満たないときは0で埋めるってことです。

Tomy 2000/01/11(火) 22:09:07
0000/01/01の形という言い方がまずかったかな
正確には2000年1月11日なのに
ACCESS 0000/01/11
というファイル名で送られてきたのです。

2000/01/12(水) 14:20:22
>ACCESS 0000/01/11
多分 〜"%04d/%02d/%02d", ($year)%100〜
3.07 にラウォッチさんの修正が当った状態だったんでしょうね。

[上に] [前に] [次に]