NSDate的簡單使用說明

2021-07-07 01:25:12 字數 2631 閱讀 7451

object-c基礎語法nsdate, 主要學習nsdate的設定、獲取當前時間、當前時間加減秒後的時間、日期比較、日期轉換成nsstring等

xcode4.6.3,os x sdk 10.8; nsdate日期操作,獲取當前日期,日期比較,日期格式,日期推算,時差解決辦法等 。

一、nsdate初始化

// 獲取當前日期   

nsdate *date = [nsdate date];

// 列印結果: 當前時間 date = 2013-08-16 09:00:04 +0000

nslog(@"當前時間 date = %@",date);

// 獲取從某個日期開始往前或者往後多久的日期,此處60代表60秒,如果需要獲取之前的,將60改為-60即可

date = [[nsdate alloc] initwithtimeinterval:60 sincedate:[nsdate date]];

//列印結果:當前時間 往後60s的時間date = 2013-08-16 09:01:04 +0000

nslog(@"當前時間 往後60s的時間date = %@",date);

ps:測試時時間是下午5點,但是得到的當前時間卻是上午9點,相差了8小時,是時區的問題

解決辦法:

nstimezone *zone = [nstimezone systemtimezone];   

nsinteger interval = [zone secondsfromgmtfordate: date];

nsdate *localdate = [date datebyaddingtimeinterval: interval];

// 列印結果 正確當前時間 localdate = 2013-08-16 17:01:04 +0000

nslog(@"正確當前時間 localdate = %@",localdate);

二、nsdate與nsstring的轉換

/*---- nsdate與nsstring----*/  

nsdateformatter *dateformatter =[[nsdateformatter alloc] init];

// 設定日期格式   

[dateformatter setdateformat:@"年月日 yyyy/mm/dd 時間 hh:mm:ss"];

nsstring *datestring = [dateformatter stringfromdate:[nsdate date]];

// 列印結果:datestring = 年月日 2013/10/16 時間 05:15:43

nslog(@"datestring = %@",datestring);

// 設定日期格式

[dateformatter setdateformat:@"yyyy-mm-dd"];

nsstring *year = [dateformatter stringfromdate:[nsdate date]];

// 列印結果:年月日 year = 2013-08-16

nslog(@"年月日 year = %@",year);

// 設定時間格式

[dateformatter setdateformat:@"hh:mm:ss"];

nsstring *time = [dateformatter stringfromdate:[nsdate date]];

// 列印結果:時間 time = 05:15:43

nslog(@"時間 time = %@",time);

三、日期的比較

/*----日期時間的比較----*/  

// 當前時間

nsdate *currentdate = [nsdate date];

// 比當前時間晚乙個小時的時間

nsdate *laterdate = [[nsdate alloc] initwithtimeinterval:60*60 sincedate:[nsdate date]];

// 比當前時間早乙個小時的時間

nsdate *earlierdate = [[nsdate alloc] initwithtimeinterval:-60*60 sincedate:[nsdate date]];

// 比較哪個時間遲

if ([currentdate laterdate:laterdate])

// 比較哪個時間早

if ([currentdate earlierdate:earlierdate])

if ([currentdate compare:earlierdate]==nsordereddescending)

if ([currentdate compare:currentdate]==nsorderedsame)

if ([currentdate compare:laterdate]==nsorderedascending)

ORMLite簡單使用說明

最近學習了ormlite資料庫框架,將我了解到的一些簡單使用方法記下來。使用前你需要自己定義乙個dbhelper類繼承ormlitesqliteopenhelper。裡面要新增乙個無參建構函式和重寫裡面的oncreate方法。如下 public class dbhelper extends orml...

Git 簡單使用說明

mkdir project 建立專案目錄 cd project 進入專案目錄 git init 初始化 git 本地倉庫。此命令會在當前目錄新建乙個 git 目錄,用於儲存 git 倉庫的相關資訊。touch readme 建立readme檔案好習慣 git add 將當前目錄新增到 git 倉庫中...

MPI簡單使用說明

1.程式最開始需呼叫mpi庫 include mpif.h 2.進入mpi工作環境需先輸入下面三個命令 mpi init ierr 初始化mpi工作環境 mpi comm rank mpi comm world,myid,ierr myid 程序號 mpi comm size mpi comm wo...