配列で抽出したStringと現在時刻を比較して、現在時刻に一番近い配列要素のindexを抽出したい
[("南口","19:00:00"),("北口","20:00:00"),("南口","22:40:00"),("北口","23:50:00")]
となっている配列があり、
現在時刻を
let now = NSDate()
let formatter = NSDateFormatter()
formatter.dateFormat = "HH:mm:ss"
let string = formatter.stringFromDate(now)
print(string)
でとります。
その際に、タプルの中にある、現在時刻の次に来ると思われる指定時刻のindexを抽出したいのですが、いかんせんString型での大小比較ができなくて困っております。
subStringWithRange
やsubStringToIndex
などで、Stringの一部分をとって、
toInt()でInt型に変更し、(NSDate()でとった現在時刻も同時にtoInt型に変更して)大小比較を"HH"と"mm"で行って、index番号を抽出しようとしましたが、Int型に変えようとした時点でnilが表示されます。アンラップしてもダメみたいです。
NSDate型での比較を試みていますが、いまいちいい解決案が出ません。
いい方法等があればご教授願えますでしょうか。
[補足]24時以降の時刻に関してどうするのかという質問があったので補足させていただきます。
配列要素の指定時刻については24時以降は要素がない(存在しない)状態で考えております。