« Pytnon 簡易テキストエディタ(PyMyEditor) を更新しました。V.000_2 | トップページ | 花とおじさん、じゃなかった、、花と猫さん »

2009年5月22日 (金)

Python 何が悪いのか(悩)、、何かのバグかな。

 前回のエントリの簡易テキストエディタでは、当日の日付挿入機能を入れました。で、そのフォーマットは、リスト先頭で変えられるようにしました。

で、テストしたのですが、うまく動かないケースが出て悩みました。本やWEBで見ても、良さそうに見えるのですが、、。

 問題点は年月日出力のフォーマット指定です。

date_fmt = time.strftime("%Y-%m-%d", time.localtime(time.time()))
date_fmt = time.strftime("%y-%m-%d", time.localtime(time.time()))

1行目の期待値は 2009-05-22
2行目の期待値は 09-05-22   

です。即ち、%Yと%yの違いです。ところが、

1行目の値は 2009-05-22
2行目の値は 10-05-22   

となっちゃうんですよね。2桁で出す「年」の部分が正しくないんです。

Sscx0484   Sscx0485

 左は上記の1行目と2行目をコピペしてはテストした結果です。右は、同じ2行目を使い、携帯電話の年の設定を、2009年と2008年に変えてテストした結果です。

 どうも、私の環境では「%y」(小文字の方)はうまく動かないようです。ということで、PyMyEditorのドキュメントにも、「%y」は使わないで下さい、と追記しました。

 

|

« Pytnon 簡易テキストエディタ(PyMyEditor) を更新しました。V.000_2 | トップページ | 花とおじさん、じゃなかった、、花と猫さん »

Python」カテゴリの記事

アプリケーション」カテゴリの記事

携帯電話」カテゴリの記事

コメント

自分の環境でも同じ様な結果になりました。

1999年以前なら、正常に動く様ですが、2000年以降はダメみたいです。

ちなみに、1.4.5ではダメでしたが、1.9.xでは想定した出力が得られるので、

Python 2.2から2.5までの間に修正されたのかも知れません。

time.strftime("%Y/%m/%d",time.localtime())[2:]

とかで妥協しちゃった方が楽ぽいですね。

投稿: noppe | 2009年5月24日 (日) 02時46分

noppe さん、詳細な情報ありがとうございます。やはり何かあるんですね。一種の2000年問題が入っているのかなあ。
2桁は余り使わないので、どうしても必要な場合はそのスライスの方法で逃げることにします。

 ところで、(間違ってたら失礼ですが、)noppeWatchの方ですよね。今では現実には使っていないのですが、随分勉強の元にさせていただきました。色々な方のを見て、やる気を奮い起こして来ました。感謝しています。

投稿: masa | 2009年5月24日 (日) 09時06分

コメントを書く



(ウェブ上には掲載しません)




« Pytnon 簡易テキストエディタ(PyMyEditor) を更新しました。V.000_2 | トップページ | 花とおじさん、じゃなかった、、花と猫さん »