LoginSignup
1
0

More than 3 years have passed since last update.

時刻操作のSwift(Foundation)とRuby比較

Last updated at Posted at 2019-06-24

現在時刻のインスタンスを生成する

ruby
Time.now
# => 2019-07-03 18:01:06 +0900
swift
Date()
// Date = 2019-07-03 09:02:14 UTC

システムのタイムゾーンで指定の日時を指定してインスタンスを生成する

ruby
Time.new(2019, 6, 24)
# => 2019-06-24 00:00:00 +0900
swift
// 方法1
let calendar = Calendar(identifier: .gregorian)
DateComponents(calendar: calendar, year: 2018, month: 6, day: 24).date
// Date? = 2018-06-23 15:00:00 UTC

// 方法2
calendar.date(from: DateComponents(year: 2019, month: 6, day: 24))
// Date? = 2018-06-23 15:00:00 UTC

現在時刻をフォーマットを指定した文字列として取得する

ruby
Time.now.strftime("%Y-%m-%d %H:%M")
# "2019-06-24 17:49"
swift
let formatter = DateFormatter()
formatter.dateFormat = "yyyy'-'MM'-'dd' 'HH':'mm"
formatter.locale = Locale(identifier: "en_US_POSIX")

formatter.string(from: Date())
// "2019-06-24 17:49"

時刻フォーマットっぽい文字列をパースする

ruby
require 'time'
Time.parse("2019-06-24 17:49")
# 2019-06-24 17:49:00 +0900
swift
let formatter = DateFormatter()
formatter.dateFormat = "yyyy'-'MM'-'dd' 'HH':'mm'"
formatter.locale = Locale(identifier: "en_US_POSIX")

formatter.date(from: "2019-06-24 17:51")
// Date? = 2019-06-24 08:51:00 UTC
1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0