获得现在的日历时间

1,NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间

2,日历对象封装了对系统日期的计算,包括这一年开始,总天数以及划分。你将使用日历对象对绝对日期与date components(包括年,月,日,时,分,秒)进行转换。NSCalendar定义了不同的日历,包括佛教历,格里高利历等(这些都与系统提供的本地化设置相关)。NSCalendar与NSDateComponents对象紧密相关。

偶然的机会接触了另外一种时间 ,NSCalendar,很奇怪,原来苹果系统有2种计算时间的方法。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    NSLog(@"-------getCurrentTime---%@",[self getCurrentTime]);

}

#pragma -mark -获取现在的日历时间  输出形式 2014-06-27 15:41:55
- (NSString *) getCurrentTime
{

    NSDate* date = [NSDate date];

    //日历为阳历
     NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
    //表示一个日期对象的组件
    NSDateComponents *component = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:date];
    //设定时区
    [component setTimeZone:[NSTimeZone systemTimeZone]];

    NSInteger year = [component year];
    NSInteger month = [component month];
    NSInteger day = [component day];
    NSInteger hour = [component hour];
    NSInteger minute = [component minute];
    NSInteger second = [component second];

    NSString* dateString = [NSString stringWithFormat:@"%i-%@%i-%@%i %@%2i:%@%2i:%@%i" , year , month > 10 ? @"" :@"0",month , day > 10 ? @"" :@"0", day , hour > 10 ? @"" :@"0", hour  , minute > 10 ? @"" :@"0", minute ,second > 10 ? @"" :@"0", second];
    return dateString;

}

打印出的:

1 2014-06-27 15:58:11.463 getCurrentTime[3944:60b] -------getCurrentTime---2014-06-27 15:58:11

获得现在的日历时间

时间: 2024-08-09 19:14:48

获得现在的日历时间的相关文章

C/C++时间函数的使用

来源:http://blog.csdn.net/apull/article/details/5379819 一.获取日历时间time_t是定义在time.h中的一个类型,表示一个日历时间,也就是从1970年1月1日0时0分0秒到此时的秒数,原型是: typedef long time_t;        /* time value */可以看出time_t其实是一个长整型,由于长整型能表示的数值有限,因此它能表示的最迟时间是2038年1月18日19时14分07秒. 函数time可以获取当前日历时

Python学习总结15:时间模块datetime & time & calendar (二)

二 .datetime模块  1. datetime中常量 1)datetime.MINYEAR,表示datetime所能表示的最小年份,MINYEAR = 1. 2)datetime.MAXYEAR,表示datetime所能表示的最大年份,MAXYEAR = 9999. 2. datetime中的常见类 datetime模块定义了下面这几个类: •datetime.date:表示日期的类.常用的属性有year, month, day:     •datetime.time:表示时间的类.常用的

C++时间和日期

C++ 日期 & 时间 C++ 标准库没有提供所谓的日期类型.C++ 继承了 C 语言用于日期和时间操作的结构和函数.为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件. 有四个与时间相关的类型:clock_t.time_t.size_t 和 tm.类型 clock_t.size_t 和 time_t 能够把系统时间和日期表示为某种整数. 结构类型 tm 把日期和时间以 C 结构的形式保存,tm 结构的定义如下: struct tm { int tm

java JDK8 学习笔记——第13章 时间与日期

第十三章 时间与日期 13.1 认识时间与日期 13.1.1 时间的度量 1.格林威治标准时间GMT 格林威治标准时间的正午是太阳抵达天空最高点之时.现在已经不作为标准时间使用. 2.世界时UT世界时是借由观测远方星体跨过子午线而得,在引入UTC之前,GMT和UT是相同的. 3.国际原子时TAI 将秒的国际单位定义为铯原子辐射振动91926331770周耗费的时间,从UT的1958年开始同步. 4.世界协调时UTC 采用了闰秒修正,确保UTC与UT相差不会超过0.9秒,加入闰秒的时间通常会在6月

Java日期时间实用工具类

1.Date (java.util.Date)    Date();        以当前时间构造一个Date对象    Date(long);        构造函数        boolean after(Date when)         测试此日期是否在指定日期之后 boolean before(Date when)         测试此日期是否在指定日期之前 Object clone()         返回此对象的副本 int compareTo(Date anotherDat

每天进步一点点——Linux系统时间来处理

转载请注明出处:http://blog.csdn.net/cywosp/article/details/25839551 在程序中时间处理往往是一个麻烦的事.Linux系统提供了非常多关于时间处理的函数,我们能够用这些函数来完毕我们所须要的功能.那么在程序中通常会关心哪些时间问题呢? 真实时间:程序执行的时间,即程序启动到程序消亡所用时间或程序执行到如今所经过的时间 进程时间:一个进程所使用的CPU时间总量.适用于对程序.算法性能的检查或优化 本文仅仅关注真实时间的处理与转换 一.Epoch 不

linux应用开发-时间编程

linux应用开发-时间编程 一 时间类型 世界标准时间:格林威治时间 日历时间:从1970-1-1起的秒数 二 时间函数 1 获取日历时间 函数名 time 函数原形 time_t time(time_t *t) 函数功能 从1970年1月1日的时间,单位为秒 所属头文件 #include<time.h> 返回值 成功返回时间的秒速 失败返回-1 参数说明 保存返回值 2 获取格林威治时间 函数名 gmtime 函数原形 struct tm *gmtime(const time_t *tim

Linux时间函数

系统环境:ubuntu10.04 1.Linux下常用时间类型time_t.struct tm.struct timeval.struct timespec 1.1 time_t时间类型time_t类型在time.h中定义:typedef long time_t; 可见,time_t实际是一个长整型.其值表示为从UTC(coordinated universal time)时间1970年1月1日00时00分00秒(也称为Linux系统的Epoch时间)到当前时刻的秒数.由于time_t类型长度的

文件的时间

文件的时间 引言 ls(1)命令按照文件的时间排序可以参考如下选项: 系统默认(用-l或者-t)是按照文件的修改时间的先后排序 -u选项按访问时间排序 -c选项按状态更改时间排序 其实就是按照stat结构体下面的3个时间值中的一个排序. struct stat { mode_t st_mode; /* file type & mode (permissions) */ ino_t st_ino; /* i-node number (serial number) */ dev_t st_dev;