スポンサーリンク

2015年5月22日

Rubyにおける日時のクラスを使ってみる

タイトル:Rubyにおける日時のクラスを使ってみる

目的:
RubyのTime、Date、DateTimeクラスを使ってみる。
また、文字列とタイムスタンプの変換も同時に使ってみる。

実施環境:
OS:Windows8.1
Ruby:v2.2.2

目次:

  1. Timeクラスを使ってみる
  2. Dateクラスを使ってみる
  3. DateTimeクラスを使ってみる
  4. 文字列、タイムスタンプを変換してみる
  5. その他

1.Timeクラスを使ってみる

1.1
ソースコードは以下の通り作成した。

1.2
軽い説明をする。

「Time.now」で現在の日時が取得できる。

「strftimeメソッド」でフォーマットを指定して出力ができる。

一部のメソッドを利用するわけじゃなければ、
「require 'time'」は必要ない。

2.Dateクラスを使ってみる

2.1
ソースコードは以下の通り作成した。

2.2
軽い説明をする。

使用するには「require 'date'」が必要。

「Date.today」で現在の日付を取得できる。

「strftimeメソッド」でフォーマットを指定して出力ができる。
但し、時刻に関しては、情報を保持していないので、
0で表示される(一部、%Iは12で表示されているが・・・)

3.DateTimeクラスを使ってみる

3.1
ソースコードは以下の通り作成した。

3.2
軽く説明をする。

DateTimeクラスはDateのサブクラスである。
使用するには同じく「require 'date'」が必要。

「DateTime.now」で現在の日時が取得できる。

「strftimeメソッド」でフォーマットを指定して出力ができる。
Dateと違い時刻の情報も保持しているため、時刻の出力もできる。

4.文字列、タイムスタンプを変換してみる

4.1
ソースコードは以下の通り作成した。

4.2
軽く説明をする。

時刻を文字列へ変換する場合、
「to_sメソッド」を利用する。

文字列を時刻へ変換する場合、
「Time.parseメソッド」を利用する。
(「require 'time'」が必要)

時刻をタイムスタンプへ変換する場合、
「to_iメソッド」を利用する。

タイムスタンプを時刻へ変換する場合、
「Time.atメソッド」を利用する。
(「require 'time'」が必要)

5.その他

5.1
フォーマットの指定の仕方は、
Time、Date、DateTimeクラスで共通のようです。

ある程度、使用頻度がありそうなフォーマットの指定の仕方は
ソースコードを参考にして頂ければ分かりやすいかと思います。

5.2
newする時が、どんな時か少し考察してみた。
Time, Date, DateTimeをnewする時は、
(そのままなのだが)指定時刻でオブジェクトを作成したい時だろう。

強いて上げるなら、DB等にユーザー側から値を指定して検索をする時とかだろうか?
後は、日時の差分で比較したい時とかだろうか?

5.3
これだけ、日時を扱うクラスがあるならば使い分けに関してどうするべきか?
以下の記事を参考にさせて頂きました。

分かりやすい・・・こういう記事書けるようになりたいですね。

以上!!

以下、参考にさせて頂いたサイト

管理人の独り言
ウィッチャー3面白い・・・
でも、プログラム程長期間に渡って遊べるわけじゃないな。
やはり趣味グラムは非常に良いおもちゃだ。

ちょっと思ったのだが、Bloggerでブログをやる時、
更新通知をTwitterに流したいのだが、現在手動でやっている。

それはちょっと・・・っと思ったので自動化する方法を調べたのだが、
何かに登録しなきゃいけないようだ。

面倒くさいので、その内BloggerのWebAPI(あるのかな?)かRSSあたりから情報を取得して、
Twitterに更新通知を出すプログラムでも作ろうかな?っと思った次第であります。
誰かやってる気がするんだけどな・・・

そっちの方が面倒くさそう?
知らんがな、そっちの方が面白そうだし!(笑)

人気の投稿