現在のUTC日付/時刻でNSDate
を初期化する簡単な方法はありますか?
[NSDate date];
次のようなことを行うカテゴリを作成することもできます。
-(NSString *)getUTCFormateDate:(NSDate *)localDate
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:localDate];
[dateFormatter release];
return dateString;
}
NSDateは、2001年1月1日00:00 GMTの絶対参照日からの間隔への参照です。したがって、クラスメソッド[NSDate date]は、その間隔の表現を返します。そのデータをテキスト形式でUTCで表示するには、NSDateFormatterを適切なNSTimeZone(UTC)と共に使用して、必要に応じてレンダリングします。
NSDate オブジェクトは、特定の暦システムまたはタイムゾーンに関係なく、単一の時点をカプセル化します。日付オブジェクトは不変であり、絶対参照日付に対する不変の時間間隔を表します(00:00:00[〜#〜] utc [〜#〜]2001年1月1日)。
Swiftバージョン:
extension NSDate {
func getUTCFormateDate() -> String {
let dateFormatter = NSDateFormatter()
let timeZone = NSTimeZone(name: "UTC")
dateFormatter.timeZone = timeZone
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return dateFormatter.stringFromDate(self)
}
}