一般有獲取具體的年月日和星期,兩個不同時間的差,某一天的前一天或後一天等;在這裡我只介紹獲取具體的年月日和星期,及某一天的前一天或後一天的方法;
對時間的處理一般都會用到nsdate類和nscalendar類兩個類;
獲取當前的時間是:nsdate *nowdate = [nsdate date];獲取具體的年月日就是對nowdate的處理;一般要用到nscalendar類,首先是對nscalendar的宣告,再就是屬性的設定,其中屬性[calendar components:(...)];很重要;設定了屬性就可以根據方法獲取年月日,如int nowyear = [comps year];
獲取星期要先獲取int nowweek = [comps weekday];再對nowweek的值進行判斷,值是從1到7,分別對應的星期是從星期天到星期六。
**如下:
nsdate *nowdate = [nsdatedate]; //這是當前的時間,其實這裡可以是任意時間
nscalendar *calendar = [nscalendar currentcalendar];
nsdatecomponents *comps;
comps = [calendar components:(nsyearcalendarunit |nsmonthcalendarunit | nsdaycalendarunit | nsweekdaycalendarunit)fromdate:nowdate];
int nowyear = [comps year];
int nowmonth = [comps month];
int nowday = [comps day];
int nowweek = [comps weekday];
nsstring *weekstr = [[nsstring alloc] init];
switch (nowweek)
nslog(@"年:%d;月:%d;日:%d;%@",nowyear,nowmonth,nowday,weekstr);
某一天的前一天或後一天的方法:
這裡要用到的是nscalendar,首先也是設定屬性,和上面一樣;用到最主要的方法是[compssethour:+24];+24表示獲取下一天,-24表示獲取前一天;還有[comps setminute:0]和[comps setsecond:0]都要;
最後將calendar轉換成nsdate;方法如下:
nsdate *nowdate = [calendar datebyaddingcomponents:comps todate:showdateoptions:0]; //showdate表示某天的date,nowdate表示showdate的前一天或下一天的date
**如下:
nscalendar *calendar = [nscalendarcurrentcalendar];
nsdatecomponents *comps;
comps = [calendar components:(nshourcalendarunit |nsminutecalendarunit | nssecondcalendarunit) fromdate:[[nsdate alloc] init]];
[comps sethour:+24]; //+24表示獲取下一天的date,-24表示獲取前一天的date;
[comps setminute:0];
[comps setsecond:0];
nsdate *nowdate = [calendar datebyaddingcomponents:compstodate:showdate options:0]; //showdate表示某天的date,nowdate表示showdate的前一天或下一天的date
SQL 對時間的處理
獲取當前日期 如 yyyy mm dd select datename year,getdate datename month,getdate datename day,getdate 獲取當前日期 如 yyyy mm dd select datename year,getdate datename...
相對時間的處理處理
在vue專案中實現以下時間出現方式 安裝包dayjs dayjs 安裝 時間外掛程式 relativetime 封裝外掛程式 注入外掛程式 在元件中使用 npm i dayjs 封裝模組 封裝外掛程式 在src 下建立乙個 x.js檔案 import dayjs from dayjs 引入中文語言包...
ORACL中對時間格式的處理
1 以12小時制顯示 sql select to char sysdate,yyyy mm dd hh12 mi ss am from dual to char sysdate,yyyy mm ddhh1 2007 06 29 02 50 06 下午 2 以24小時制顯示 sql select to...