NSDate-日期类 OC——第七天(1)

1、总结前面学习的Oc中的几种数据类型

NSInteger

NSUinteger

CGFloat

NSString
NSMutableString

NSSArray
NSMutableArray

NSDictionary
NSMutableDictionary

NSSet
NSMutableSet

2、NSDate 
日期类,继承自NSObject ,代表的是一个时间点

NSDate *date = [NSDate
date];

NSLoge(@“%@“,date);//显示的是格林尼治时间:年-月-日 时:分:秒:+时区

 3、typedef double
NSTimeInterval;  NSTimeInterval实质是double
类型

NSDate *date1 = [NSDate
dateWithTimeIntervalSinceNow:60];

4、昨天的现在时刻

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

明年的这个时刻

NSDate *date3 = [NSDate
dateWithTimeIntervalSinceNow:366 *24*60*60];

5、计算给定Date对象和当前时间的时间间隔

NSTimeInterval time = [date1
timeIntervalSinceNow];

6、计算当前时间和明年时间

time
= [date timeIntervalSinceNow];

7、时间戳:从1970.1.1
到当前时间的时间间隔就叫时间戳

time
= [date timeIntervalSince1970];

8、 时间戳对象

   
NSDate
*date4 =
[NSDate
dateWithTimeIntervalSince1970:360];

9、获取北京时间,在零时区的基础上加上8个小时,就到了东8区,也就是北京时间

NSDate *date5 = [date dateByAddingTimeInterval:8
*60 *60 ];

例子: 计算一个当前时间和一个固定时间的差值如果差值在60妙以内输出“刚刚”,如果在60秒到3600之前,则输出“XX分钟之前”,若在3600到24
*3600 之内,则输出“XX小时之前”,若再24 * 3600之外,则显示固定时间

NSDate  *t2 =
[NSDate
dateWithTimeIntervalSinceNow:-2*3600];

   
NSTimeInterval
time3 = [t2
timeIntervalSinceNow];

    time3 =
-time3;
   
if (time3 <</span>
60) {
       
NSLog(@"刚刚");

   
}else
if (time3 <</span>
3600){ 
 
  

       
NSLog(@"%.2lf分钟之前",time3
/ 60);
   
}else
if (time3 <</span>
24 *3600){
       
NSLog(@"%.2lf小时之前",time3
/ 3600);
   
}else{
       
NSLog(@"%@",t2);

   
}

==============================================================

10、NSDateFormatter 日期格式类,主要作用:将NSDate
对象转化为某种格式,然后转化成NSString 对象
   
//创建NSDateFormatter
对象
   
NSDateFormatter
*formatter =
[[NSDateFormatter alloc]init];

   //设定日期格式:yyyy(年) -
MM(月) - dd(日)  H(小时) m
(分钟)s(秒)

 [formatter
setDateFormat:@"yyyy年mm月dd日
HH时mm分ss秒"];

   NSDate
*date7 =
[NSDate
date];

11、
NSDate ——>NSString

stringFormatter
会直接加上相聚0时区的时间间隔
   
NSString
*datestring =
  [formatter stringFromDate:date7];

   NSLog(@"%@",datestring);

例子: 练习:将date7显示格式变为:2015年09月07号,11-35-20

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

   
[formatter2 setDateFormat:@"yyyy年mm月dd号
HH-mm-ss"];
   
NSString
*datestring2 =
[formatter2 stringFromDate:date7];

   NSLog(@"%@",datestring2);

12、将字符串转化为NSDate
对象

比如:将2015年09月07号
11时40分50秒

准备时间格式对象

NSDateFormatter *formatter3 = [[NSDateFormatter alloc]init];
   
[formatter3 setDateFormat:@"yyyy年mm月dd号
HH时mm分ss秒"];
   
//转化字符串对象
   
NSString
*datestring3 =
@"2015年09月07号
11时40分50秒";
   
//NSString
-->NSDate
  NSDate *date8 = 
[formatter3 dateFromString:datestring3];
   
NSLog(@"%@",date8);
    
//将转换回来的对象手动加上8小时,回到北京时间

  NSDate *date9 = 
[date8 dateByAddingTimeInterval:8
*60 *60];

   NSLog(@"%@",date9);

练习:例子:
将字符串转化为NSDate
对象;比如:@"将2015年09月07日
11时40分50秒"

  //准备时间格式对象

NSDateFormatter *formatter4 = [[NSDateFormatter alloc]init];
     
[formatter4 setDateFormat:@"将yyyy年mm月dd日
HH时mm分ss秒"];
   
NSString
*dateString4 =
@"将2015年09月07日
13时28分50秒";
   NSDate *date11= 
[formatter4  dateFromString:dateString4];
   
NSDate
*date10 =
[date11 dateByAddingTimeInterval:8*60*60];

   NSLog(@"%@",date10);

  版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-01 11:39:58

NSDate-日期类&amp;nbsp;OC——第七天(1)的相关文章

NSDate-日期类&amp;nbsp;OC——第七天(1)

1.总结前面学习的Oc中的几种数据类型 NSInteger NSUinteger CGFloat NSString NSMutableString NSSArray NSMutableArray NSDictionary NSMutableDictionary NSSet NSMutableSet 2.NSDate 日期类,继承自NSObject ,代表的是一个时间点 NSDate *date = [NSDate date]; NSLoge(@"%@",date);//显示的是格林尼治

两个日期类

<?/**  这是公历和农历类的定义,由于php的日期计算限制,所以只能计算1970-1938之间的时间  农历类的计算方法使用了林洵贤先生的算法,在此表示感谢!在joy Asp可以找到林先生的大作(javascript)*/ /** * 日期类 * 本对象套用JavaScript的日期对象的方法 * 设置$mode属性,可兼容JavaScript日期对象 */class Date {  var $time = 0;  var $mode = 0;  // 本属性为与JavaScript兼容而设

一个C++日期类(第一部分)

本文适合初级读者 Chuck Allison 是盐湖城圣 Latter Day 教堂总部下耶稣教堂家族历史研究处的软件体系设计师.他拥有数学学士和数学硕士学位.他从1975年起开始编程,从1984年起他开始从事c语言的教学和开发.他目前的兴趣是面向对象的技术及其教育.他是X3J16,ANSI C ++标准化委员会的一员.发送e-mail 到 allison@decus.org,或者拨打电话到 (801)240-4510 均可以与他取得联系. 上个月的专栏里介绍了一个日期间隔函数,它可以算出任意两

一个C++日期类(第二部分)

本文适合初级读者 Chuck Allison 是盐湖城圣 Latter Day 教堂总部下耶稣教堂家族历史研究处的软件体系设计师.他拥有数学学士和数学硕士学位.他从1975年起开始编程,从1984年起他开始从事c语言的教学和开发.他目前的兴趣是面向对象的技术及其教育.他是X3J16,ANSI C ++标准化委员会的一员.发送e-mail 到 allison@decus.org,或者拨打电话到 (801)240-4510 均可以与他取得联系. 在上个月的封装中我提出了一个简单的C++日期类的雏形.

背水一战 Windows 10 (44) - 控件(日期类): CalendarView, DatePicker, TimePicker

原文:背水一战 Windows 10 (44) - 控件(日期类): CalendarView, DatePicker, TimePicker [源码下载] 背水一战 Windows 10 (44) - 控件(日期类): CalendarView, DatePicker, TimePicker 作者:webabcd 介绍背水一战 Windows 10 之 控件(日期类) CalendarView DatePicker TimePicker 示例1.CalendarView 的示例Controls

acm-c++ 日期类 求大神指教

问题描述 c++ 日期类 求大神指教 描述 给定日期类的声明 class Date{ public: Date(int d = 0, int m = 0, int y = 0); //构造函数 int get_day() const; // 返回day int get_month() const; //返回month int get_year() const; // 返回year static void set_default(int, int, int); static int get_def

java日期类Calendar问题

问题描述 java日期类Calendar问题 做的一个塞浦路斯(地中海岛国)的项目,该国实行冬令时(+2)和夏令时(+3),应用服务器linux通过date命令,查询出来已是夏令时,但是通过JDK的Calendar.getTime()方法得到的依然是冬令时,两者相差的时间为1小时,可否有大神指导下! 解决方案 你试试用GregorianCalendar(TimeZone zone, Locale aLocale) 来定义Calendar对象,然后再用Calendar.getTime()方法

tomcat-Java linux 下日期类 Calendar的问题

问题描述 Java linux 下日期类 Calendar的问题 我在本地tomcat上获取的时间很准确 但是 将项目放到linux tomact下时间就不准了 但是我查询了linux的系统时间是没问题的 本人小菜鸟 请问大家这是怎么回事 该如何解决 解决方案 [Java] 日期处理 02 Calendar 类JAVA Calendar类 处理日期java日期类 calendar的使用 解决方案二: http://blog.csdn.net/joyous/article/details/9630

HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)

Problem Description Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me what day it is ? Input There are multiply cases. One line is one case. There are three integers, year(0< year<10000), month(0<=month<13), day(0<