require 'time' time = Time.now => 2016-07-01 13:03:00 +0900 # マイクロ秒部分を整数で取得 time.usec => 193967 # iso8601フォーマットでマイクロ秒含めて表示 time.iso8601(6) => "2016-07-01T13:03:00.193967+09:00" # 引数に小数点以下の桁数を入れるのでミリ秒なら3を指定する irb(main):009:0> time.iso8601(3) => "2016-07-01T13:03:00.193+09:00" # xmlschemaメソッドも同義 irb(main):010:0> time.xmlschema(3) => "2016-07-01T13:03:00.193+09:00" 文字列からTimeを生成 ISO8601フォーマットの文字列から生成す
holiday_japan - 日本の祝日判定Rubyプログラム Calculate National Holidays of Japan between 1948..2150 View on GitHub Download .zip Download .tar.gz 日本の祝日判定Rubyプログラム (GitHub), (RubyGems) 特徴 1948年7月20日以降の日本の国民の祝日、振替休日、および国民の休日を計算して判定。 スクリプトコード(holiday_japan.rb)は、祝日データを含めて200行弱とコンパクト。 (date2 の holiday.rb と比較して) 祝日をキャッシュすることにより、大量の日付について祝日判定する場合でも高速に動作 祝日名を返すことが可能 祝日のルールをテーブルで持つことにより、法改正による祝日変更への対応が容易 (holiday_jp
更新情報 2016/08/19: 初版公開 2021/08/26: 更新 2023/04/12: 更新 追記: 以下の記事もどうぞ。 シン・ActiveRecordで日付・時刻の範囲検索をシンプルに書く方法 こんにちは、hachi8833です。 Active Recordで日付範囲を指定して読み出そうとすると、おそらく次のようなコードになるでしょう。 Pattern.where(“updated_at BETWEEN ? AND ?”, from, to) 社内のSlackチャンネルのログを遡ってて、Active Recordでwhere(updated_at: range_obj_start..range_obj_end)のように、Rangeオブジェクトを#whereの値指定として渡せるというやりとりを見つけたので、確認してみました。 範囲演算子とは RubyのRangeオブジェクトでは
日付・時間を引く(減算) import datetime # 現在時刻 dt1 = datetime.datetime.now() print(dt1) #[結果] 2023-08-23 07:12:20.806648 # 1日前 dt2 = dt1 + datetime.timedelta(days=-1) print(dt2) #[結果] 2023-08-22 07:12:20.806648 # 1時間前 dt2 = dt1 + datetime.timedelta(hours=-1) print(dt2) #[結果] 2023-08-23 06:12:20.806648 # 10分前 dt2 = dt1 + datetime.timedelta(minutes=-10) print(dt2) #[結果] 2023-08-23 07:02:20.806648 # 30秒前 dt2 =
日付の加算・減算を行うには、datetime.timedeltaを使用する。 >>> import datetime >>> d = datetime.datetime.now() >>> d datetime.datetime(2012, 4, 18, 06, 29, 28, 538000) >>> d + datetime.timedelta(days=3) #3日加算 datetime.datetime(2012, 4, 21, 06, 29, 28, 538000) >>> d - datetime.timedelta(hours=3) #3時間減算 datetime.datetime(2012, 4, 18, 03, 29, 28, 538000) 引数に使用可能なのは以下のとおり timedelta([days[, seconds[, microseconds[, millis
>> 連載の目次は こちら! 今回は、Rubyで日付と時刻を扱う方法を整理してみる。 Timeクラス、Dateクラス、DateTimeクラス、 さらに Active Support による拡張機能について整理する。 全パターン盛り込んだら、かなり大きなトピックになってしまった... ■ Time クラス UNIXタイムで日時を扱うクラス。これだけでもかなり強力 ● 現在時刻でTimeオブジェクトを生成 now1 = Time.new; p now1 # 2017-04-25 21:01:27 +0900 now2 = Time.now; p now2 # 2017-04-25 21:01:27 +0900 # 方法1 t1 = Time.local(2017, 5, 1, 9, 33, 45, 0); p t1 # 2017-05-01 09:33:45 +0900 # 形式は Time.
日付の操作はしょっちゅうするのですが、なんか毎回調べているにも関わらず、いっこうに頭に入ってこないのでまとめました。 それぞれの日付型の意味についてはこちらの記事を参照してみてください。 RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い x日前 ruby Date型なら -1 するだけです require "date" d = Date.today p d p d-1 #<Date: 2017-09-07 ((2458004j,0s,0n),+0s,2299161j)> #<Date: 2017-09-06 ((2458003j,0s,0n),+0s,2299161j)> require "date" d = DateTime.now p d p d-1 #<DateTime: 2017-09-15T17:52:04+09:00 ((2
TL;DR strftime はクソ DATE_FORMATSは型ごとに設定する必要がある DATETIME型のデータは Time::DATE_FORMATS[:ymd] = ("%Y年%m月%d日") DATE型のデータは Date::DATE_FORMATS[:ymd] = ("%Y年%m月%d日") 前提 以下、今日(2016年10月23日)作成されたユーザーの作成時間(user.created_at、DATETIME型)を整形するという流れで進めます。 strftime を使う場合 日付のデータをフォーマットするときは、 strftime 関数を使います。 user.created_at.strftime("%Y年%m月%d日") # => 2016年10月23日 ただ strftime を使ってしまうと都度フォーマットを設定するため、日付フォーマットがバラけてしまいます。 (ra
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く