日期类问题与解决方法小结

********************

日期类

@interface NSDate NSObject <</SPAN>NSCopyingNSSecureCoding>

这个类比较简单   就几个方法  都是跟NSTimeInterval时间间隔)有关  其实就是double值

 

 

********

获取的NSDate date时间与实际相差8个小时解决方案

NSDate *cur [NSDate date];

    NSTimeZone *zone [NSTimeZone systemTimeZone];

    NSInteger interval [zone secondsFromGMTForDatecur];

    cur [cur dateByAddingTimeIntervalinterval];

    NSLog(@"当前时间:%@"cur);

我习惯的写法:

NSDate *cur [NSDate date];

    cur [cur dateByAddingTimeInterval[[NSTimeZone systemTimeZonesecondsFromGMTForDate:cur]];

    NSLog(@"当前时间:%@"cur);

 

 

********

日期格式化类

@interface NSDateFormatter NSFormatter

这个类提供一些date与string之间的格式化的工具方法

 

(NSString *)stringFromDate:(NSDate *)date;

(NSDate *)dateFromString:(NSString *)string;

时间与string的转换

如果用df的话  就不用考虑格林尼治时间差

(NSString *)dateFormat;

时间格式  一定要设置

@"yyyy-MM-dd HH:mm:ss.s"

2014-07-03 03:14:04.3

注意:

①第一个mm要大写

②hh如果是大写就是24进制 小写就是12进制

③ss后面加.显示毫秒

④还有带am pm 的以后用到补充 是上午下午

@"EE MMM dd HH:mm:ss yyyy"

Wed Jul 02 20:14:04 -0700 2014

 

 

-- 纪元

 

一般会显示公元前(BC)和公元(AD)

 

-- 

假如是2013年,那么yyyy=2013,yy=13  

 

-- 

假如是3月,那么M=3,MM=03,MMM=Mar,MMMM=March

假如是11月,那么M=11,MM=11,MMM=Nov,MMMM=November

 

-- 年包含的周

假如是1月8日,那么w=2(这一年的第二个周)

 

-- 月份包含的周(与日历排列有关)

假如是2013年4月21日,那么W=4(这个月的第四个周)

 

-- 月份包含的周(与日历排列无关)

和上面的W不一样,F只是单纯以7天为一个单位来统计周,例如7号一定是第一个周,15号一定是第三个周,与日历排列无关。

 

-- 年包含的天数

假如是1月20日,那么D=20(这一年的第20天)

假如是2月25日,那么D=31+25=56(这一年的第56天)

 

-- 月份包含的天数

假如是5号,那么d=5,dd=05

假如是15号,那么d=15,dd=15

 

-- 星期 

假如是星期五,那么E=Fri,EEEE=Friday

 

-- 上午(AM)/下午(PM)

 

-- 24小时制,显示为0--23

假如是午夜00:40,那么H=0:40,HH=00:40

 

-- 12小时制,显示为1--12

假如是午夜00:40,那么h=12:40

 

-- 12小时制,显示为0--11

假如是午夜00:40,那么K=0:40,KK=00:40

 

-- 24小时制,显示为1--24

假如是午夜00:40,那么k=24:40

 

-- 分钟

假如是5分钟,那么m=5,mm=05

假如是45分钟,那么m=45,mm=45

 

-- 

假如是5秒钟,那么s=5,ss=05

假如是45秒钟,那么s=45,ss=45

 

-- 毫秒

一般用SSS来显示

 

-- 时区

表现形式为GMT+08:00

 

-- 时区

表现形式为+0800

http://www.cnblogs.com/wayne23/archive/2013/03/25/2981009.html

 

_l_date1.text [df stringFromDate:d];

    [df setLocale:[[NSLocale allocinitWithLocaleIdentifier:@"zh_CN"]];

设置中文显示格式(星期X) 

 

@"yyyyMMdd#EEEE"

EEEE为星期几,EEE为周几, EE是英文缩写 

 

@"yyyyMMMMd"];//MMMM xx月,一个d可以省去01日前的 

 

typedef enum {

    NSDateFormatterNoStyle     kCFDateFormatterNoStyle,

    NSDateFormatterShortStyl kCFDateFormatterShortStyle,//“11/23/37” or “3:30pm”

    NSDateFormatterMediumStyle kCFDateFormatterMediumStyle,//"Nov 23, 1937"

    NSDateFormatterLongStyle   kCFDateFormatterLongStyle,//"November 23, 1937” or “3:30:32pm"

    NSDateFormatterFullStyle   kCFDateFormatterFullStyle//“Tuesday, April 12, 1952 AD” or “3:30:42pm PST”

NSDateFormatterStyle;

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值