您的位置:首页 > 其它

NSData 和NSDateFormatter的使用总结

2015-01-30 11:58 232 查看
1、创建一个时间对象

NSData * date = [NSDate date];//获取当前的时间

//再获取的时间date减去24小时的时间(昨天的这个时候)

NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-(24*60*60)];

2、将时间按一定的格式输出

NSData * date = [NSDate date];

NSDateFormatter * formatter = [[NSDateFormatter alloc]init];

//指定输出的格式 这里格式必须是和上面定义字符串的格式相同,否则输出空

[formatter setDateFormat:@"yyyy-MM-dd"];

NSString *timeString= [formatter stringFromDate:data];

/*

NSDateFormatter 的一些格式介绍

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //这里要注意的是formatter的格式,如果是小写的"hh",那么时间将会跟着系统设置变成12小时或者24小时制。大写的"HH",则强制为24小时制。

[dateFormatter setDateFormat:@"yyyy年MM月dd日#EEEE"];EEEE为星期几,EEE为周几

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

[dateFormatter setDateFormat:@"yyyy年MMMMd日"];//MMMM 为xx月,一个d可以省去01日前的0

*/

3、 将一时间字符串换成<span style="font-family: Arial, Helvetica, sans-serif;">Date对象,和把NData转换成string对象</span><p class="p2"><span style="white-space:pre"> </span></p><p class="p2"><span style="white-space:pre"> </span>NSDateFormatter<span class="s1">配合</span>NSDate<span class="s1">与</span>NSString<span class="s1">之间的转化</span> NSDateFormatter<span class="s1">有下面</span><span class="s2">2</span><span class="s1">个方法:</span></p><p class="p2"><span style="white-space:pre"> </span>- (NSString *)stringFromDate:(NSDate *)date;<span class="s3">//NSDate</span><span class="s4">转</span><span class="s3">NSString</span></p><p class="p2"><span style="white-space:pre"> </span>- (NSDate *)dateFromString:(NSString *)string;<span class="s3">//NSString</span><span class="s4">转</span><span class="s3">NSDate</span></p><p class="p1">

</p>

NSString *datestring = [NSString stringWithFormat:@"1999-09-03"];

//想要设置自己想要的格式,可以用nsdateformatter这个类,这里是初始化

NSDateFormatter * formatter = [[NSDateFormatter alloc]init];

//指定输出的格式 这里格式必须是和上面定义字符串的格式相同,否则输出空

[formatter setDateFormat:@"yyyy-MM-dd"];

NSDate *newdate=[formatter dateFromString:datestring];

[cpp] view
plaincopy

把字符串的时间转换成Date对象,用dateFromString方法

NSDate * newdate = [formatter dateFromString:datestring];

[cpp] view
plaincopy

// 把时间转换成字符串,把Date对象转换成String对象 用stringFromDate方法

NSString * datestring2 = [formatter stringFromDate:newdate];

4、将本地时间转换成指定时区的时间 <pre name="code" class="cpp"><p class="p2"> NSDateFormatter *formatter<span> </span>= [[NSDateFormatter alloc] init];</p><p class="p2"> [formatter<span> </span>setDateFormat:<span class="s1">@"yyyy-MM-dd hh:mm:ss"</span>];</p><p class="p2"> <span class="s2">NSTimeZone</span>* timeZone = [<span class="s2">NSTimeZone</span> <span class="s3">timeZoneWithName</span>:<span class="s1">@"Asia/Shanghai"</span>]; <span class="s4">//</span><span class="s5">东八区时间</span></p><p class="p2"> [formatter setTimeZone:timeZone];</p><p class="p2"> <span class="s2">NSString</span> *loctime = [formatter stringFromDate:date];</p><p class="p2"> [formatter release];</p><p class="p3">

</p><p class="p1"><span class="s6"> </span>现在<span class="s6">loctime</span>就是指定时区的时间字符串了</p><p class="p1">

</p><p class="p1"><span class="s7">5</span>、将时间戳<span class="s6"> </span>转变为标准时间</p><p class="p2"> NSTimeInterval time=[timestamp doubleValue]; <span class="s4">// timetamp</span><span class="s5">为</span><span class="s4"> “</span><span class="s5">时间戳</span><span class="s4">”</span><span class="s5">字符串</span></p><p class="p2"> <span class="s2">NSDate</span> *detaildate=[NSDate dateWithTimeIntervalSince1970:time];</p><p class="p2"> NSLog(<span class="s1">@"date:%@"</span>,[detaildate description]);</p><p class="p3">

</p><p class="p4"><span class="s8"> </span>NSDateFormatter<span class="s8"> *dateFormatter = [[</span>NSDateFormatter<span class="s8"> </span><span class="s3">alloc</span><span class="s8">] </span><span class="s3">init</span><span class="s8">];</span></p><p class="p2"> [dateFormatter setDateFormat:<span class="s1">@"yyyy-MM-dd HH:mm:ss"</span>];</p><p class="p2"> [dateFormatter setLocale:[NSLocale currentLocale]];</p><p class="p2"> <span class="s2">NSString</span> *timeString = [<span class="s9">dateFormatter</span> <span class="s3">stringFromDate</span>:<span class="s9">detaildate</span>];</p></pre>

<pre></pre>

<pre></pre>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: