LoginSignup
36
34

More than 5 years have passed since last update.

SwiftでNSDateから文字列に変換(曜日あり)する

Last updated at Posted at 2015-02-01

SwiftでNSDateから文字列に変換してみました。
最初は、StringからNSDateを用意してみました。

  • StringからNSDate
  • NSDateからString

という流れになります。
ついでに、曜日を出すようにしてみました

実行環境

  • Xcode6

実際のSwiftでNSDateから文字列に変換するソース

import UIKit


// 文字列 から NSDate
var date_string: String  = "1996-3-15 10:11:00"
var date_formatter: NSDateFormatter = NSDateFormatter()
date_formatter.locale     = NSLocale(localeIdentifier: "ja")
date_formatter.dateFormat = "yyyy/MM/dd HH:mm:ss"
var change_date:NSDate = date_formatter.dateFromString(date_string)!

date_formatter.stringFromDate(change_date)   // NSDateに変換される

// NSDateから文字列に変換(曜日あり)

let weekdays: Array  = [nil, "日", "月", "火", "水", "木", "金", "土"]
let calender: NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)
let comps: NSDateComponents = calender.components(NSCalendarUnit.YearCalendarUnit|NSCalendarUnit.MonthCalendarUnit|NSCalendarUnit.DayCalendarUnit|NSCalendarUnit.HourCalendarUnit|NSCalendarUnit.MinuteCalendarUnit|NSCalendarUnit.SecondCalendarUnit|NSCalendarUnit.WeekdayCalendarUnit, fromDate: change_date)

println("年 \(comps.year)")
println("月 \(comps.month)")
println("日 \(comps.day)")
println("時 \(comps.hour)")
println("分 \(comps.minute)")
println("秒 \(comps.second)")
println("曜 \(weekdays[comps.weekday])")

date_formatter.dateFormat = "yyyy年MM月dd日(\(weekdays[comps.weekday])) HH時mm分ss秒"
println(date_formatter.stringFromDate(change_date))

36
34
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
36
34