IOS格式规范

IOS格式规范

 

目录

  • 概述
  • 日期格式

 

概述

 

日期格式

 

声明时间格式:NSDateFormatter *date_formatter = [[NSDateFormatter alloc] init];

 

设值时间格式:[date_formatter setDateFormat:@"yyyy年MM月dd日HH时mm分ss秒"];

 

设值locale:[date_formatter setLocale:[[NSLocale alloc] initWithLocaleIndentifier:@"en_US"]]或者[date_formatter setLocale:[NSLocale currentLocale]];

 

获得日期

 

获得当前日期:NSDate *current_date = [NSDate date];

从字符串中获得日期:NSDate *custom_date = [date_formatter stringFromDate:@"20140905133212"];

把获得日期按照相应格式转换为字符串:NSString *str = [date_formatter stringFromDate:current_date];

 

NSDateFormatter格式说明

G:公元时代,例如AD公元

yy:年的后2位

yyyy:完整年

MM:月,显示为1-12

MMM:月,显示为英文月份简写,如Jan

MMMM:月,显示为英文月份全称,如January

dd:日,2位数表示,如2

d:日,1-2位显示,如2

EEE:简写星期几,如Sun

EEEE:全写星期几,如Sunday

aa:上下午,AM/PM

H:时,24小时制,0-23

K:时,12小时制,0-11

m:分,1-2位

mm:分,2位

s:秒,1-2位

ss:秒,2位

S:毫秒

常用日期结构

yyyy-MM-dd HH:mm:ss.sss

yyyy_MM-dd HH:mm:ss

yyyy-MM-dd

MM dd yyyy

自定义显示的星期格式

 

使用NSDateFormatter转换日期时,得到的英文字母的星期几只能是这样,如Sun, Mon, etc.

 

如果想得到大写字母的星期几,可以这样:

 

NSArray*weekdayAry = [NSArray arrayWithObjects:@"SUN", @"MON", @"TUE",@"WED", @"THU", @"FRI", @"SAT", nil];

 

dateFormatter = [[NSDateFormatter alloc] init];

 

[dateFormatter setDateFormat:NSLocalizedString(@"YYYY.MM.dd.eee",nil)];

 

//此处更改显示的大写字母的星期几?[dateFormattersetShortWeekdaySymbols:weekdayAry];

 

[dateFormatter setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"en_US"] ]];

 

NString *str= [dateFormatter stringFromDate:[NSDate date]];

 

 

 

 

计算距离某一天还有多少时间

 

NSDate* toDate = [ [ NSDate alloc]initWithString:@"2012-9-29 0:0:00 +0600" ];

 

NSDate* startDate = [ [ NSDatealloc] init ];

 

NSCalendar* chineseClendar = [ [ NSCalendar alloc ]initWithCalendarIdentifier:NSGregorianCalendar ];

 

NSUInteger unitFlags =

 

NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit |NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit;

 

NSDateComponents *cps = [chineseClendar components:unitFlagsfromDate:startDate toDate:toDate options:0];

 

NSInteger diffHour = [cps hour];

 

NSInteger diffMin = [cpsminute];

 

NSInteger diffSec = [cps second];

 

NSInteger diffDay = [cps day];

 

NSInteger diffMon = [cps month];

 

NSInteger diffYear = [cps year];

 

NSLog( @" From Now to %@, diff: Years:%d Months: %d, Days; %d, Hours: %d, Mins:%d,sec:%d",

 

[toDate description], diffYear, diffMon, diffDay, diffHour,diffMin,diffSec );

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。