NSData NSDateFormatter获取当前时间常用功能总结

参考IOS8 SDK

IOS提供获取当前时间的方法,包含日期date和time,可以设置显示的格式(系统和自定义)和地区时间。

1、获取当前时间的方法(可以更改locale我理解不同地区的时间)

1.1获取当前时间,格式显示默认

系统自带时间显示格式

NSDateFormatterNoStyle:不会显示日期和时间

NSDateFormatterShortStyle :11/29/14, 10:46 PM

NSDateFormatterMediumStyle :Nov 23, 1937” or “3:30:32 PM

NSDateFormatterLongStyle:November 23, 1937” or “3:30:32 PM PST

NSDateFormatterFullStyle:Tuesday, April 12, 1952 AD” or “3:30:42 PM Pacific Standard Time

//把时间NSDate 转换成字符串stringFormatter
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    formatter.dateStyle = NSDateFormatterShortStyle;//NSDateFormatterNoStyle;
    formatter.timeStyle = NSDateFormatterShortStyle;//NSDateFormatterNoStyle;
    NSString *str = [formatter stringFromDate:[NSDate date]];
  
    str = [NSString stringWithFormat:@"current time is %@", str];
    //配合
    //str = [NSString stringWithFormat:@"Date for locale is %@ %@",[[formatter locale]localeIdentifier],str];
    NSLog(@"log -------- %@",str);
    //output:log -------- current time is 11/29/14, 10:46 PM

获取本地化封装信息,时间地区

[[NSLocale currentLocale]localeIdentifier]


1.2 以1 January 2001, GMT为起始点计算显示时间,可以指定时间地区

 NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    formatter.dateStyle = NSDateFormatterMediumStyle;//NSDateFormatterShortStyle;//NSDateFormatterNoStyle;
    formatter.timeStyle = NSDateFormatterMediumStyle;//NSDateFormatterShortStyle;//NSDateFormatterNoStyle;
    //以秒为单位指定距离参考时间的时间
    NSDate *currentdate = [NSDate dateWithTimeIntervalSinceReferenceDate:118860];
    //设置时间地区
    NSLocale *currentlocale = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US"];
    [formatter setLocale:currentlocale];
    //把时间NSDate 转换成字符串stringFormatter
    NSString *str = [formatter stringFromDate:currentdate];
    
    str = [NSString stringWithFormat:@"current locale is %@ current time is %@",[[NSLocale currentLocale]localeIdentifier], str];
    NSLog(@"log -------- %@",str);
    //output:log -------- current locale is en_US current time is Jan 2, 2001, 5:01:00 PM

1.3有限自定义时间显示格式

Pattern Result (in a particular locale)
yyyy.MM.dd G 'at' HH:mm:ss zzz 1996.07.10 AD at 15:08:56 PDT
EEE, MMM d, ''yy Wed, July 10, '96
h:mm a 12:08 PM
hh 'o''clock' a, zzzz 12 o'clock PM, Pacific Daylight Time
K:mm a, z 0:00 PM, PST
yyyyy.MMMM.dd GGG hh:mm aaa 01996.July.10 AD 12:08 PM
http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns

    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    //formatter.dateStyle = NSDateFormatterMediumStyle;//NSDateFormatterShortStyle;//NSDateFormatterNoStyle;
    //formatter.timeStyle = NSDateFormatterMediumStyle;//NSDateFormatterShortStyle;//NSDateFormatterNoStyle;
    //以秒为单位指定距离参考时间的时间
   // NSDate *currentdate = [NSDate dateWithTimeIntervalSinceReferenceDate:118860];
    //设置时间地区
   // NSLocale *currentlocale = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US"];
   // [formatter setLocale:currentlocale];
    //把时间NSDate 转换成字符串stringFormatter
    [formatter setDateFormat:@"yyyy.MM.dd G 'at' HH:mm:ss zzz"];
    NSString *str = [formatter stringFromDate:[NSDate date]];
    
    str = [NSString stringWithFormat:@"current locale is %@ current time is %@",[[NSLocale currentLocale]localeIdentifier], str];
    NSLog(@"log -------- %@",str);
    //output:log -------- current locale is en_US current time is 2014.11.30 AD at 08:33:13 GMT+8






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值