指定した日付間の日数を取得してそれを年に変換する方法ですが、最初はtimeIntervalSinceDate:メソッドで日数を取得して、1年間は365日だから単純に365で割れば良いだろうと安易に考えてたのですが、プログラム組んで挙動を確かめてみると、年数が経てば経つほど微妙に年齢がズレていく。。しかもちょうど4年目くらいで、ズレ始める。 4年でズレてるってことがわかった時に気づいたのですが、閏年を考えていませんでした。。 閏年の条件 1.西暦年が4で割り切れる年は閏年 2.ただし、西暦年が100で割り切れる年は平年 3.ただし、西暦年が400で割り切れる年は閏年 です。 ただこの閏年を考えた上での計算式をどうするかでけっこうハマりました。 で、色々とググった結果、見つかった解決策はobjective-cと関係ないサイトから出てきました。 ・仕事で使えるちょい技SQL 計算式はこ
この投稿は iOS Advent Calendar 2013 - Qiita の25日目の記事です。 今年の iOS Advent Calendarの最後の日に、NSCalendarをとりあげてみますね。 iOSとMacOSXで暦を司る、あまり目立たないですが重要なクラスです。 NSDate さて、NSCalendarの説明をするには、まずNSDateからですよね。 NSDateとは、iOSとMacOSXで(日時を含む)時刻を表すクラスです。 2001/1/1を基準として、それより前の日時は負の値、それ以降の日時は正の値として保存されています。 伝統的なUnix系のOSでは、1970/1/1が時刻データの基準とされてきましたが、MacOSXのリリース年は2001年なので、それにあわせて2001年が基準になっているのかもしれません。 [NSDate date]で、現在の日付を取得することがで
iPhone・iPad 開発小技 Wiki トップページページ一覧メンバー掲示板編集 NSDateから年月日時分秒を取り出す 最終更新:wiki_iphone_tricks 2011年02月05日(土) 13:04:50履歴 Tweet NSDateオブジェクトから年月日時分秒を取り出すにはNSCalendarを使用する。カレンダーには中国カレンダーなどを指定することもできるがここではデフォルトを使う。 // 現在の日時を取得 NSDate *date = [NSDate date]; // デフォルトのカレンダーを取得 NSCalendar *calendar = [NSCalendar currentCalendar]; // 日時をカレンダーで年月日時分秒に分解する NSDateComponents *dateComps = [calendar components:NSYearC
うーん、タイムラインを単純に要求した場合と検索した場合とで返ってくる「created_at」のフォーマットが違うのだ。 Web上にあるサンプルはタイムラインを要求した場合のものなので、単純に真似てもうまくいきません。 NSDateFormatter* inFormat = [[NSDateFormatter alloc] init]; NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; [inFormat setLocale:locale]; [locale release]; [inFormat setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss Z"]; NSDate *date = [inFormat dateFromString:createAt];[inF
文字列→日付、日付→文字列の変換を行うNSDateFormatter、理解するまではちょっと難しそうな印象があるこのクラスの使い方を解説します。 フォーマットの指定 文字列 intputDateStr を inputDateFormatter で指定したフォーマットでパースしてNSDate に格納。それを outputDateFormatter で指定したフォーマットで文字列として出力するサンプルです。 NSDateFormatter *inputDateFormatter = [[NSDateFormatter alloc] init]; [inputDateFormatter setDateFormat:@"yyyy/MM/dd HH:mm:ss"]; NSString *intputDateStr = @"2000/01/02 03:04:05"; NSDate *inputDate
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く