LoginSignup
26
26

More than 5 years have passed since last update.

経過時間を表示する

Last updated at Posted at 2015-03-22

ゲーム開始から終了までの経過時間を取得してみます。
よりスマートな方法、指摘などあればコメントいただけると幸いです。

※2015/3/23 追記
文字列として表示する場合、NSDateFormatterを使用した方がよいとアドバイスいただきました。
上記について追記修正しました。

イメージ

time.png

実装方法

GameScene.swift
var startDate = NSDate() // ゲーム開始時の時刻を取得

time = NSDate().timeIntervalSinceDate(startDate) // 現在時刻と開始時刻の差
var hh = Int(time / 3600)
var mm = Int((time - Double(hh * 3600)) / 60)
var ss = Int(time - Double(hh * 3600 + mm * 60))
var date_String = String(format: "%02d:%02d:%02d", hh, mm, ss)

println(date_String)
GameScene.swift
var startDate = NSDate() // ゲーム開始時の時刻を取得

time = NSDate().timeIntervalSinceDate(startDate) // 現在時刻と開始時刻の差
var date_String = NSDate(timeIntervalSince1970: time) 

let dateFormatter = NSDateFormatter()
dateFormatter.timeZone = NSTimeZone(name: "GMT")
dateFormatter.dateFormat = "HH:mm:ss"

println(dateFormatter.stringFromDate(date_String))

参考

NSDateで日付を管理する - Swiftサラリーマン
Swiftで日時文字列とUNIX時間を相互に変換する方法
NSDateFormatter Class Reference

26
26
2

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
26
26