ハロワの動作を時間ごとに変えてみる/野望篇

投稿者: | 2015年4月17日

さて、今これを書いているのは夜です。

$ date
2015年 11月17日 火曜日 20時04分56秒 JST
$ ./sekai.swift
こんにちは、世界!

…。「こんにちは」じゃねーよ!夜だっつーの!

というわけで、実行時刻に合わせて挨拶を変えてみたくなったので、適当にネットを漁って現在日時を表示するコードを拾ってきました。
※Swift3対応に書き直しました。

import Foundation
let now: Date = Date()
let cal: NSCalendar = NSCalendar(calendarIdentifier: NSCalendar.Identifier.gregorian)!
let cal_comp: DateComponents = cal.components([.year, .month, .day, .hour, .minute, .second], from:now)
print("\(cal_comp.year!)/\(cal_comp.month!)/\(cal_comp.day!) \(cal_comp.hour!):\(cal_comp.minute!):\(cal_comp.second!)")

…(´Д` )

とにかく実行するとこんな感じ。

$ swift ./date.swift
2015/11/17 20:8:10

細かいところは置いておいて、ちょいちょいと書き換えるとこうなりました。

$ cat jikoku.swift
#! /usr/bin/swift
import Foundation
let now: Date = Date()
let cal: Calendar = Calendar(identifier: .gregorian)
let cal_comp: DateComponents = cal.dateComponents([.hour,], from:now)
print("ただいまの時刻は\(cal_comp.hour!)時です。")
$ ./jikoku.swift
ただいまの時刻は20時です。

これ、cal_comp.hourの結果に従って適宜朝昼晩の挨拶を選んでやれば、実行時刻に合わせた挨拶できそうですね。