[#26966] Time & Date — " たけ (tk)" <ggb03124@...>

Time と Date についていくつか質問させてください。

29 messages 2001/01/01
[#26975] Re: Time & Date — Tadayoshi Funaba <tadf@...> 2001/01/03

ふなばです。

[#26976] Re: Time & Date — " たけ (tk)" <ggb03124@...> 2001/01/04

たけ(tk)です。

[#26979] Re: Time & Date — Tadayoshi Funaba <tadf@...> 2001/01/04

ふなばです。

[#26983] Re: Time & Date — " たけ (tk)" <ggb03124@...> 2001/01/04

たけ(tk)です。

[#26985] Re: Time & Date — matz@... (Yukihiro Matsumoto) 2001/01/04

まつもと ゆきひろです

[#26990] Re: Time & Date — " たけ (tk)" <ggb03124@...> 2001/01/05

たけ(tk)です。

[#27006] $= — "TAKAGI, Hiromitsu" <takagi@...>

ごぶさたです。

52 messages 2001/01/05
[#27008] Re: $= — Koji Arai <JCA02266@...> 2001/01/05

新井です。

[#27109] Re: $= — Koji Arai <JCA02266@...> 2001/01/13

新井です。

[#27111] RWiki (Re: $=) — WATANABE Hirofumi <eban@...> 2001/01/14

わたなべです.

[#27114] Re: RWiki (Re: $=) — Koji Arai <JCA02266@...> 2001/01/14

新井です。

[#27116] Re: RWiki (Re: $=) — rubikitch <rubikitch@...> 2001/01/14

From: Koji Arai <JCA02266@nifty.ne.jp>

[#27118] Re: RWiki (Re: $=) — Koji Arai <JCA02266@...> 2001/01/14

新井です。

[#27121] Re: RWiki (Re: $=) — "NAKAMURA, Hiroshi" <nakahiro@...> 2001/01/14

なひです。

[#27129] Re: RWiki (Re: $=) — matz@... (Yukihiro Matsumoto) 2001/01/14

まつもと ゆきひろです

[#27133] Re: RWiki (Re: $=) — "NAKAMURA, Hiroshi" <nakahiro@...> 2001/01/14

なひです。

[#27061] Ruby/Python with ruby 1.6.2 — akira yamada / やまだあきら <akira@...>

13 messages 2001/01/09

[#27219] do ... end & { ... } — "K.Kosako" <kosako@...>

ブロックを構成するdo ... end と{ ... } の違いについて、

17 messages 2001/01/18
[#27220] Re: do ... end & { ... } — Yasushi Shoji <yashi@...> 2001/01/18

At Thu, 18 Jan 2001 13:32:24 +0900,

[#27221] Re: do ... end & { ... } — matz@... (Yukihiro Matsumoto) 2001/01/18

まつもと ゆきひろです

[#27271] media watch 2001.01.18 — Noritsugu Nakamura <nnakamur@...>

25 messages 2001/01/21
[#27284] Re: media watch 2001.01.18 — WATANABE Tetsuya <tetsu@...> 2001/01/22

渡辺哲也です。

[#27325] Re: media watch 2001.01.18 — Yasunari Momoi <momo@...> 2001/01/26

From: WATANABE Tetsuya <tetsu@jpn.hp.com>

[#27334] Re: media watch 2001.01.18 — Masaki Suketa <CQN02273@...> 2001/01/27

助田です。

[#27286] Ruby -e "puts '["]' " — "たけ(tk)" <ggb03124@...>

Ruby -e "puts '["]' "

20 messages 2001/01/23
[#27288] Re: Ruby -e "puts '["]' " — "U.Nakamura" <usa@...> 2001/01/23

こんにちは、なかむら(う)です。

[#27290] Re: Ruby -e "puts '["]' " — " たけ (tk)" <ggb03124@...> 2001/01/23

たけ(tk)です。

[#27292] Re: Ruby -e "puts '["]' " — matz@... (Yukihiro Matsumoto) 2001/01/23

まつもと ゆきひろです

[#27349] NHK 放映 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

49 messages 2001/01/28
[#27354] Re: NHK 放映 — "K.Kosako" <kosako@...> 2001/01/29

Yukihiro Matsumotoさんの

[#27365] Re: NHK 放映 — "Akinori MUSHA" <knu@...> 2001/01/29

At Mon, 29 Jan 2001 10:27:37 +0900,

[#27366] Re: NHK 放映 — IWAOKA Masahiro <iwaoka@...> 2001/01/29

In the message <86snm2obtz.wl@archon.local.idaemons.org>,

[#27391] Re: NHK 放映 — Shin-ichiro HARA <sinara@...> 2001/01/30

原です。

[#27394] Re: NHK 放映 — SHUDO Kazuyuki <shudoh@...> 2001/01/30

原さん wrote:

[#27395] Re: NHK 放映 — Shin-ichiro Hara <sinara@...> 2001/01/30

原です。

[#27399] Re: NHK 放映 — Nakamura Akifumi <BXQ04723@...> 2001/01/30

[ruby-list:26976] Re: Time & Date

From: " たけ (tk)" <ggb03124@...>
Date: 2001-01-04 07:09:24 UTC
List: ruby-list #26976
たけ(tk)です。

Tadayoshi Funaba さん曰く。
》ふなばです。

 早速ありがとうございます。

 もともと、なんでこのような質問をしたかというと、データベースに入ってい
る DateTime 型のデータを Ruby に翻訳しようと思ったら、Time も Date も使
えなかった、ということなのです。それはそれとして・・。

》> 1 なぜ Time と Date があるのか?。Time の時刻部分がない物が Date では
》> ないのか?。
》
》んー、それはどうでしょう。

》> 4 Time で時刻部分をカットするメソッドはないのか?。
》
》カットとは?

 どうでしょう?。理論的には分かりませんが Delphi の DateTime 型のデフォ
ルトの文字列表現(DateTimeToStr)では、時刻部分が 00:00:00 のときには 
ymd だけを文字列にするようになっています。これだと24時間のうち1秒ほど
困った表現になりますが、普通は日付型として扱いたい場合には時刻部分をカッ
トしておけば(=00:00:00 にすれば)日付しか出なくなるので便利なわけです。

Date3 で「日付」だけを扱いたいときには便利ではなかろうか?。

date.to_s
#	(Date2)	"2000-12-31"
# 	(Date3)	"2000-12-31T12:00:00,0Z"

》ちなみに、date2 パッケージに date3.rb というものがあります。実験的なも
》のですが、時刻もあらわせる Date です。

 これが進化すれば Time の置き換えに使えそうですね。

》parsedate でもいいと思うのですが、date[23] では、strptime.rb を持って
》いますし、

 Date#strftime も使えるんですね。知らなかった。

手順:
(1) date2.2.2 をダウンロードして解凍。
(2) strftime.rb をライブラリパスにコピー
(3) require "strftime" を追加。

strptime の方は 

p Date.strptime( '2000-12-31' ) # nil

では駄目で、書式を指定しなければならないんですね。

p Date.strptime( '2000-12-31' , '%F' )	# {:mday=>31, :mon=>12, :year=>2000}

それと、Hash を返すだけで Date オブジェクトは作られない。さらに、その 
Hash を Date.new に送っても作ってくれない?。

p Date.new(Date.strptime( '2000-12-31' , '%F' ))	#	NG

−−

* バグめっけ。

p Date.strptime( '2000/12/31' , '%y/%m/%d' )	
#	{:mday=>31,:mon=>12, :year=>3900}

p Date.strptime( '12/31/2000' , '%D' )	
#	{:year=>3900, :mday=>31,:mon=>12}

−−

》> time = Time.mktime(ParseDate.parsedate('1999-12-31'))	#	NG
》> time = Date.new(ParseDate.parsedate('1999-12-31'))	#	NG
》
》これやると、どうしてタイムゾーンが反映されないんだ、とか、いわれるかな。

 しかし、Date.new( 1999, 12, 31)が既に出来るのだから、変わらないのでは?。

 Date.new の改造のつもり。

  def new_date ymd , *args
    if ymd.is_a? String
      case ymd
      when /(\d+)\D+(\d+)\D+(\d+)/
        return Date.new( $1.to_i , $2.to_i , $3.to_i )
      end
    end
    Date.new ymd , *args
  end

p new_date( '2000年12月31日' ).to_s	
p new_date( '2000 12 31' ).to_s	
p new_date( '2000.12.31' ).to_s
p new_date( '2000/12/31' ).to_s
p new_date( '2000-12-31' ).to_s
p new_date( 2000,12,31 ).to_s

PS.

》ggb03124@nifty.ne.jp (  たけ  (tk)) wrote:
										↑
 Becky! で送信もとIDを変える方法が分からない。

PS2.

 ライブラリで日本語が使えないのは痛いですね・・。

PS3.

 Delphi では、ShortDateFormat(='yy/MM/dd'), LongTimeFormat(=
'hh:mm:ss')というグローバル変数があって、これを変えておくとデフォルトの
文字列変換ルーティン(to_s 相当)の変換方式を変えることが出来る。また、
プログラムの開始前にプラットフォームを調べて、このグローバル変数を変えて
いる。

 c:\progra~1\borland\delphi5\source\rtl\sys\sysutils.pas

たけ(tk) ggb03124@nifty.ne.jp
http://member.nifty.ne.jp/take_tk

In This Thread