/獲取年月日物件
+(nsdatecomponents *)getdatecomponents:(nsdate *)date
//獲得某年的週數
+(nsinteger)getweek_accordingtoyear:(nsinteger)year else
}/**
* 獲取某年某周的範圍日期
* * @param year 年份
* @param weekofyear year裡某個周
* * @return 時間範圍字串
*/+(nsstring*)getweekrangedate_year:(nsinteger)year weakofyear:(nsinteger)weekofyear
//獲取時間軸是星期幾 1(星期天) 2(星期一) 3(星期二) 4(星期三) 5(星期四) 6(星期五) 7(星期六)
nsinteger todayisweekday = [comps weekday];
// 計算當前日期和這週的星期一和星期天差的天數
//firstdiff 星期一相差天數 、 lastdiff 星期天相差天數
long firstdiff,lastdiff;
if (todayisweekday == 1) else
nsdate *firstdayofweek= [nsdate datewithtimeinterval:24*60*60*firstdiff sincedate:date];
nsdate *lastdayofweek= [nsdate datewithtimeinterval:24*60*60*lastdiff sincedate:date];
long weekdifference = weekofyear - todayisweek;
firstdayofweek= [nsdate datewithtimeinterval:24*60*60*7*weekdifference sincedate:firstdayofweek];
lastdayofweek= [nsdate datewithtimeinterval:24*60*60*7*weekdifference sincedate:lastdayofweek];
weekdate = [nsstring stringwithformat:@"第%ld周(%@-%@)",weekofyear,[datatimetool stringfromdate:firstdayofweek dateformat:@"yyyy年m月d號"],[datatimetool stringfromdate:lastdayofweek dateformat:@"yyyy年m月d號"]];
return weekdate;
}/**************************當前時間********************************/
+(nsdatecomponents *)getcurrentdatecomponents
+(nsinteger)getcurrentweek
+(nsinteger)getcurrentyear
+(nsinteger)getcurrentquarter
+(nsinteger)getcurrentmonth
+(nsinteger)getcurrentday
//nsstring轉nsdate
+(nsdate *)datefromstring:(nsstring *)datestring dateformat:(nsstring *)dateformat
//nsdate轉nsstring
+(nsstring *)stringfromdate:(nsdate *)date dateformat:(nsstring *)dateformat
//時間追加
+(nsstring *)datebyaddingtimeinterval:(nstimeinterval)timeinterval datatime:(nsstring *)datestr dateformat:(nsstring *)dateformat
//日期字串格式化
+(nsstring *)getdatatime:(nsstring *)datestr dateformat:(nsstring *)dateformat
+(nsstring *)getdatatime:(nsstring *)datestr dateformat:(nsstring *)dateformat olddateformat:(nsstring *)olddateformat
if ([datestr isequaltostring:@"0"])
if ([datestr rangeofstring:@"+"].location != nsnotfound)
if ([datestr rangeofstring:@"."].location != nsnotfound)
if ([datestr rangeofstring:@"t"].location != nsnotfound)
nsdateformatter *newdateformatter = [[nsdateformatter alloc]init];
[newdateformatter setdateformat:dateformat];
nsdateformatter *olddateformatter = [[nsdateformatter alloc] init];
if (olddateformat) else
nsdate *date = [olddateformatter datefromstring:datestr];
return [newdateformatter stringfromdate:date];
}+(int)getnumberofcharactersinstring:(nsstring *)str c:(char)c }}
return count;
}+(nsstring *)getformat:(nsstring *)datestring else if (size == 1)else if (size == 2)
size = [self getnumberofcharactersinstring:datestring c:':'];
if (size == 0 && [datestring rangeofstring:@" "].location != nsnotfound)else if (size == 1)else if (size == 2)
return str;
}/**
* json日期轉ios時間
* * @param string /date()
* * @return
*/+(nsstring *)intercepttimestampfromstr:(nsstring *)string dateformat:(nsstring *)dateformat
nsmutablestring * mutablestr = [nsmutablestring stringwithstring:string];
nsstring * timestampstring = [nsstring string];
// 遍歷取出括號內的時間戳
for (int i = 0; i < string.length; i ++)
}// 把時間戳轉化成時間
nstimeinterval interval=[timestampstring doublevalue] / 1000.0;
nsdate *date = [nsdate datewithtimeintervalsince1970:interval];
nsdateformatter *objdateformat = [[nsdateformatter alloc] init];
[objdateformat setdateformat:dateformat];//年月日時分秒
nsstring * timestr = [nsstring stringwithformat:@"%@",[objdateformat stringfromdate: date]];
return timestr;
}
細說 IOS 時間相關
該部落格為達到細緻入微 靈活應用的目的,全部採用 示例展示,一些常見的功能的實現都包括在內。1.字串轉 date 1 從後台獲取的較為標準的時間格式的轉換方法 時間字串 nsstring string 2017 03 15 12 33 22 nsdateformatter fmt nsdatefor...
iOS開發 時間格式相關
1 系統時間 區分系統時間與網路時間 注意點是假如我們手動調整了我們裝置的系統時間,下面的就不准了。nsdateformatter fm nsdateformatter alloc init fm setdateformat yyyy mm dd hh mm ss nsstring currentd...
iOS時間相關各種技巧
一 通過自帶的日曆得到年月日 時間 以及星期nscalendar calendar nscalendar alloc initwithcalendaridentifier nsgregoriancalendar nsdate now nsdatecomponents comps nsdatecomp...