[#43996] ある日付の最終時刻の求め方 (秒単位) — SATOH Fumiyasu <fumiyas@...>

さとうふみやす @ OSS テクノロジです。

14 messages 2007/09/05
[#43998] Re: ある日付の最終時刻の求め方 (秒単位) — "GOTO Kentaro" <gotoken@...> 2007/09/05

07/09/05 に SATOH Fumiyasu<fumiyas@osstech.jp> さんは書きました:

[ruby-list:44002] Re: ある日付の最終時刻の求め方 (秒単位)

From: SATOH Fumiyasu <fumiyas@...>
Date: 2007-09-05 16:47:07 UTC
List: ruby-list #44002
さとうふみやす @ OSS テクノロジです。

皆さん、ありがとうございます。
今回は Rails 環境なので、

At Wed, 5 Sep 2007 23:59:22 +0900,
eklerni wrote:
> ちょっとRuby本体の話からは外れますが、
> Ruby on Rails の ActiveSupportを用いると次のように書けます。
> 
> t = Time.now
> (t + 1.day).midnight - 1

にしようかな、と思います。

> または
> 
> t.change(:hour => 23, :min => 59, :sec => 59)

これや、

At Wed, 5 Sep 2007 23:01:01 +0900,
NARUSE, Yui wrote:
> t = Time.now
> t2 = Time.local(*t.to_a[3,3].reverse)+24*60*60-1
> p t #=> Wed Sep 05 22:57:04 +0900 2007
> p t2 #=> Wed Sep 05 23:59:59 +0900 2007

これだと、

At Thu, 6 Sep 2007 00:55:59 +0900,
Urabe Shyouhei wrote:
> 疑問に思ったものの調べかたが分からないので恥を忍んでお聞きするのです
> が、1日の最終秒というのは常に23時59分59秒なのでしょうか?
> 
> # 23時59分60秒になる瞬間が存在しうる地域がある気が

その可能性 (うるう秒) があるので、ごく稀ですが
うまく動作しない場合があるかと。

Perl ではどうやって回避したんだっけな…。
# 実際にうるう秒の確認(テスト)をしたことはないですけどね。(^^;

-- 
-- Name: SATOH Fumiyasu / fumiyas @ osstech.co.jp
-- Business Home: http://www.OSSTech.co.jp
-- Personal Home: http://www.SFO.jp/blog/

In This Thread