//重寫time的getter方法,獲取時間
- (nsstring *)time
return dateformatter;
}nsdate與nsdateformatter的相關用法
1.nsdateformatter配合nsdate與nsstring之間的轉化
nsdateformatter有下面2個方法:
- (nsstring *)stringfromdate:(nsdate *)date;//nsdate轉nsstring
- (nsdate *)datefromstring:(nsstring *)string;//nsstring轉nsdate
e.g.
nsstring *datestring=@"1900-01-01";
nsdateformatter *dateformatter=[[nsdateformatter alloc]init];
[dateformatter setdateformat:@"yyyy-mm-dd"];
nsdate *date=[dateformatter datefromstring:datestring];
[dateformatter release];
nsstring轉nsdate與上面類似
nsstring *datestring=[dateformatter datefromstring:[nsdate date]];
2.nsdateformatter 的一些格式介紹
[dateformatter setdateformat:@"yyyy年mm月dd日#eeee"];eeee為星期幾,eee為週幾
[dateformatter setdateformat:@"yyyy-mm-dd hh:mm:ss"];
[dateformatter setdateformat:@"yyyy年mmmmd日"];//mmmm 為xx月,乙個d可以省去01日前的0
3.nsstring轉nsdate少一天的解決辦法
用下面這種格式化方式
1.[dateformatter setdateformat:@"yyyy-mm-dd hh:mm:ss"];
2.nscalendar *calendar = [nscalendar currentcalendar];
nsdatecomponents *components = [calendar components:(nsdaycalendarunit | nsmonthcalendarunit | nsyearcalendarunit) fromdate:[nsdate date]];
nsdate *todaydate = [calendar datefromcomponents:components];
/**
日曆和nsdate操作
*/#import ns_assume_nonnull_begin
@inte***ce uiresponder (lybgetinfofromcanlinder)
//1.不同時區時間的轉換---格林尼治標準時間準時間轉換成當地時間
- (nsdate *)getnowdatefromatandate:(nsdate *)anydate;
//計算多少秒之前、分之前。。。。
-(void)caculatesometimeago;
// 比較兩個時間
-(void)comparedate;
//根據日期或者日期字串顯示今天和昨天
-(void)settodayandyestodaywithdate:(nsdate *)somedate datestr:(nsstring *)somedatestr;
//獲取當前時間日曆的年月日,時分秒
-(nsdictionary *)canchangebank;
@end
ns_assume_nonnull_end
*******
/** 日曆和nsdate操作
*/#import "uiresponder+lybgetinfofromcanlinder.h"
@implementation uiresponder (lybgetinfofromcanlinder)
//1.不同時區時間的轉換---格林尼治標準時間準時間轉換成當地時間
- (nsdate *)getnowdatefromatandate:(nsdate *)anydate
//計算時間日期多少秒之前、分之前。。。。
-(nsdictionary *)caculatesometimeagowithdatestr:(nsstring *)datestr
//獲取分鐘部分
components =[calendar components:nscalendarunitminute fromdate:createdatdate
todate:[nsdate date]options:0];
if(components.minute <60)
//獲取小時部分
components = [calendar components:nscalendarunithour fromdate:createdatdate todate:[nsdate date]options:0];
if(components.hour <24)
//獲取天部分
components = [calendar components:nscalendarunitday fromdate:createdatdate todate:[nsdate date]options:0];
if(components.day <30)
//獲取week部分
components = [calendar components:nscalendarunitweekday fromdate:createdatdate todate:[nsdate date]options:0];
if(components.weekday <52)
//獲取月部分
components = [calendar components:nscalendarunitmonth fromdate:createdatdate todate:[nsdate date]options:0];
if(components.month <12)
//獲取年部分
components = [calendar components:nscalendarunityear fromdate:createdatdate todate:[nsdate date]options:0];
if(components.year <10)
nsdictionary *dict=@;
return dict;
}// 比較兩個時間
-(void)comparedate else if (result == nsordereddescending) else
}//根據日期或者日期字串顯示今天和昨天
-(nsstring *)settodayandyestodaywithdate:(nsdate *)somedate datestr:(nsstring *)somedatestrelse
nsdate *fordate=[format datefromstring:datestr];//日期
// 今天的時間
nsdate *today=[[nsdate alloc]init];
nsdateformatter *todayformat=[[nsdateformatter alloc]init];
todayformat.timezone = [nstimezone systemtimezone];//設定時區
todayformat.dateformat=@"yyyy-mm-dd";
nsstring *todaydatestr=[todayformat stringfromdate:today];//日期字串
nsdate *fortoday=[format datefromstring:todaydatestr];//日期
//獲得nowdate和selfdate的差距---判斷是否是昨天
nscalendar *calendar = [nscalendar currentcalendar];
nsdatecomponents *cmps = [calendar components:nscalendarunitday fromdate:fordate todate:fortoday options:0];
nsstring *daystr=@"";
if([datestr isequaltostring:todaydatestr])else if(cmps.day== 1)else
}return daystr;
}//獲取當前時間日曆的年月日,時分秒
-(nsdictionary *)canchangebank;
return dict;
}@end
//多長時間前
-(nsstring *)copmarenowdateone:(nsstring *)dateonestr witholddatetwo:(nsstring *)datetwostrelse if(intvaltime>24*60*60) else if(intvaltime>0.5*60*60)
return str;
}
iOS日曆 日期 時間的計算
1.獲取當月的天數 nsinteger getnumberofdaysinmonth nscalendarunitweekday 獲取指定日期的年,月,日,星期,時,分,秒資訊 void getdateinfo 除了使用nsdatecomponent 獲取年月日等資訊,還可以通過格式化日期獲取日期的...
iOS日曆 日期 時間的計算
1.獲取當月的天數 nsinteger getnumberofdaysinmonth nscalendarunitweekday 獲取指定日期的年,月,日,星期,時,分,秒資訊 void getdateinfo 除了使用nsdatecomponent 獲取年月日等資訊,還可以通過格式化日期獲取日期的...
SQL時間日期總結
1.時間型別 datetime 8 bytes yyyy mm dd hh mm ss 1000 01 01 00 00 00 9999 12 31 23 59 59 timestamp 4 bytes yyyy mm dd hh mm ss 1970 01 01 00 00 01 2038 dat...