NSDate

1.在程序的开发中会用到时间,Foundation架构中有一个类NSDate可以很好地包装时间,在这个类中定义了很多方便的方法来使用时间。

// 创建一个时间对象

NSDate *date = [NSDatedate];

//打印出的时候是0时区的时间(北京-东8区)

NSLog(@"%@", date);

这样直接打印的时间是此时电脑时间0时区的时间,北京在东八区,所以打印出的时间应该是此时时间减去8。

2.NSDate包含了很多处理时间的类方法和对象方法

例如下面的类方法,返回了一个时间对象5秒后的时间对象

NSDate *date2 = [NSDatedateWithTimeInterval:5sinceDate:date];

3.下面的对象方法返回了从1970年到现在的时间间隔,单位是秒

//从1970开始走过的秒数

NSTimeInterval seconds = [date2timeIntervalSince1970];

在实际开发中,我们经常使用这个秒数,将这个秒数上传服务器或从服务器获取,用于记录时间,下面这个方法就是将从服务器上获取的秒数转换成一定时间格式的字符串

+ (NSString *)dateStringWithTimeStamp:(NSString *)timeStamp Format:(NSString *)format {

NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];

NSDateFormatter *formatter = [NSDateFormatter new];

[formatter setDateStyle:NSDateFormatterMediumStyle];

[formatter setTimeStyle:NSDateFormatterShortStyle];

[formatter setDateFormat:format];

[formatter setTimeZone:timeZone];

NSDate *date = [NSDate dateWithTimeIntervalSince1970:[timeStamp longLongValue] / 1000];

NSString *result = [formatter stringFromDate:date];

return result;

}

4.还可以为时间设置相应地格式

//日期格式化类

NSDateFormatter *formatter = [[NSDateFormatteralloc]init];

// y年 
M月 
d 日

// m分 s
秒  H
(24)时 h(12)时

formatter.dateFormat =@"yyyy-MM-ddHH:mm:ss";

NSString *str = [formatterstringFromDate:date];

NSLog(@"%@", str);

这样打印出的时间就是相应格式的此时的时间

5.将一个特定的时间包装成NSDate对象,首先吧时间写成字符串对象

// 09/10/2011

NSString *time =@"2011/09/10 18:56";

然后定义相应的时间格式

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

formatter.dateFormat =@"yyyy/MM/dd HH:mm";

利用下面的对象方法将字符串对象转换车工NSDate类型

NSDate *date =[formatterdateFromString:time];

这样一个特定的时间就包装好了。

时间: 2024-10-09 07:19:27

NSDate的相关文章

OC学习篇之---Foundation框架中的其他类(NSNumber,NSDate,NSExcetion)

1.NSNumber 这个类主要是用来封装基本类型的,说到这里,就不得不说一下了: OC中的集合是不允许存入基本类型的,所以NSNumber类就诞生了,需要将基本类型封装一下,然后存进去,这个类似于Java中的自动装箱和拆箱,Java中的集合其实也是不允许存入基本类型的,但是我们任然看可以那么操作,就是因为有自动装箱功能,如果你将Eclipse的JDK改成5.0之前的,你看看还能操作吗.. 注:那为什么基本类型不能存入到集合中呢? 原因是在操作集合的时候会操作集合元素中的方法,但是基本类型是没有

003-日期与时间(NSDate)

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //获取代表当前日期,时间的NSDate NSDate* date1 = [NSDate date]; NSLog(@"%@", date1); //获取从当前时间开始,一天之后的日期 NSDate* date2 = [[NSDate alloc]initWithTimeInterval

NSDate ,NSCalendar一些用法

NSDate *date = [NSDate date]; [date dateByAddingTimeInterval: ]//通过加减秒数来改变date的值这里一般需要用到日期格式器NSFormatter类 NSFormatter *formatter = [NSFormatter alloc]init];[formatter setDateStyle: ]//设置系统时间格式[formatter setDateFormat:];//自定义时间格式(格式要规范)G: 公元时代,例如AD公元y

iOS开发-OC篇-NSDate

今天总结一下OC中NSDate的一些简单的用法,注意可不是NSData哦! NSDate的使用 1> NSDate初始化方法 //获取当前时间 NSDate * date = [NSDate date]; //返回以当前时间为基准,然后过了secs秒的时间 [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24]; //返回以lastDate为基准,然后过了secs秒的时间 [NSDate dateWithTimeInterval:60 * 60 *

iOS开发中NSDate时间戳的转换--

NSTimeInterval time =(NSTimeInterval )[model.day floatValue]; NSDate *date = [NSDate dateWithTimeIntervalSince1970:time]; //转化为字符串 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"yyyy/MM/dd hh:mm"];

NSDate转NSString

NSDate *theDate = self.datePicker.date//假设从datepicker中获取到时间 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; self.label.text = [dateFormatter stringFromDate:theDate];

NSDate 和 NSDateFormatter 使用技巧

//1.显示当前时间 NSDate *date = [NSDate date];//获取当前的时间 NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; [formatter setDateFormat:@"yyyy-MM-dd a HH:mm:ss EEEE"]; NSLog(@"date = %@",[formatter stringFromDate:date]); //输出结果是  date =

supersr--时间显示逻辑--&gt;NSDate+NSCalendar

- (NSString *)created_at{ //    从后台返回的字符串格式:Mon Aug 03 09:17:31 +0800 2014, //NSDateFormatter可以把NSDate转成字符串,也可以把字符串转成NSDate //初始化一个时间格式化器 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; //指定时间格式化字符串-->是一个什么样的格式 formatter.dateFormat = @&quo

NSDate 使用

NSDate *date = [NSDate date]; //日期格式化类 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; //y年 M月 d日 //m分 s秒 H(24)时 h(12)时 //2015-08-15 22:30:30 formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; NSString *str = [formatter stringFromDate:d

NSDate和NSString相互转换

在日常的开发中经常需要NSDate类型时间与NSString字符串类型时间进行相互转换,整理了一下NSDateFormatter 格式化参数,以及写了一个NSDate的分类方便在开放中使用. NSDateFormatter 格式化参数如下: G: 公元时代,例如AD元年 yy: 年的后两位 yyyy: 完整年 MM: 月,显示1~12 MMM: 月,显示为英文月份简写,如 Jan MMMM: 月,显示为英文月份简写,如 Janualy dd: 日,显示2为数,如 04 d: 日, 1-2位显示,