[#38323] [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@...

押田です。

22 messages 2009/04/24
[#38331] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/04/26

永井@知能.九工大です.

[#38339] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/04/27

押田です。

[#38340] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/04/27

永井@知能.九工大です.

[#38697] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/06/21

永井@知能.九工大です.

[#38711] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/06/24

押田です。

[#38723] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/07/01

永井@知能.九工大です.

[#38743] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/07/07

押田です。

[#38747] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/07/08

永井@知能.九工大です.

[#38748] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — oshida@... 2009/07/08

押田です。

[#38749] Re: [1.8.7][1.9.1][tk] 自前実装の拡張 widget を使いたい場合 — Hidetoshi NAGAI <nagai@...> 2009/07/08

永井@知能.九工大です.

[ruby-dev:38341] Re: Time with arbitrary offset

From: Tanaka Akira <akr@...>
Date: 2009-04-27 03:56:58 UTC
List: ruby-dev #38341
In article <E1LyBkf-0000x1-UO@x61.netlab.jp>,
  Yukihiro Matsumoto <matz@ruby-lang.org> writes:

> ただし、civilというメソッド名には反対です。Dateクラスには、ま
> ずAD/BCを勘案するCivil Dateという概念があって対応するcivilメ
> ソッドがあると理解していますが、私の知る限りcivil timeという
> 概念はないし、仮にあったとしてもそれは「任意の時差」とは関係
> しないものだと思います。

では、
Time.new(year, mon, day, hour, min, sec, utc_offset)
ならどうでしょうか?

現在の Time.new (というか Time#initialize) は引数をとらない
ので、非互換性を起こさずに拡張することができます。

あと、Date クラスが AD/BC を勘案するというのはよく意味がわか
りません。少なくとも、紀元前1年であるところの西暦0年はそのま
ま通るようです。

% ruby -rdate -e 'p Date.civil(0,1,1)'    
#<Date: 0000-01-01 (3442115/2,0,2299161)>

なお、私は civil という語をここで用いる理由はよくわかってい
ないんですが、検索すると Civil calendar というのがあるので、
これなのかなぁ、と想像しています。
http://en.wikipedia.org/wiki/Civil_calendar

> さらにgetlocalメソッドの振る舞いもよくわかりませんでした。同
> じ時間で時差の違うオブジェクトを返すってこと? それもちょっ
> と名前から予想される挙動とは違うかもしれません。

time.getlocal は同じ時刻で地方時のオブジェクトを返すので、
time.getlocal("+09:00") などと指定すれば、同じ時刻で指定した
時差のオブジェクトを返すのはそれなりに自然な拡張だと思ってい
ます。

% TZ=EST5EDT ./ruby -e '
t = Time.utc(2000,1,1)
p t
p t.getlocal
p t.getlocal("+09:00")
p t.getlocal(3600*9)  
'
2000-01-01 00:00:00 UTC
1999-12-31 19:00:00 -0500
2000-01-01 09:00:00 +0900
2000-01-01 09:00:00 +0900

こうでないとすると、どういう予想をすると思ったんですか?

> あとは、strftimeの%Zをどうするかなんてことも気にならないでも
> ないですが、それは対応すればよいだけのことですね。

あぁ、それは送った後に気がついて、手元ではとりあえず空文字列
になるようにしてあります。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread