ios時間相關的工具NSDate

2021-08-07 02:47:14 字數 4074 閱讀 3230

/獲取年月日物件

+(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...