iphone時間差 和 時間戳 轉換與計算

2021-09-06 07:27:33 字數 2281 閱讀 3461

設定時間顯示格式:

nsstring* timestr = @"

2011-01-26 17:40:50";

nsdateformatter *formatter =[[[nsdateformatter alloc] init] autorelease];

[formatter setdatestyle:nsdateformattermediumstyle];

[formatter settimestyle:nsdateformattershortstyle];

[formatter setdateformat:

@"yyyy-mm-dd hh:mm:ss

"]; //

----------設定你想要的格式,hh與hh的區別:分別表示12小時制,24小時制

//設定時區,這個對於時間的處理有時很重要

//例如你在國內發布資訊,使用者在國外的另乙個時區,你想讓使用者看到正確的發布時間就得注意時區設定,時間的換算.

//例如你發布的時間為2010-01-26 17:40:50,那麼在英國愛爾蘭那邊使用者看到的時間應該是多少呢?

//他們與我們有7個小時的時差,所以他們那還沒到這個時間呢...那就是把未來的事做了

nstimezone* timezone = [nstimezone timezonewithname:@"

asia/shanghai"];

[formatter settimezone:timezone];

nsdate* date = [formatter datefromstring:timestr]; //

------------將字串按formatter轉成nsdate

nsdate *datenow = [nsdate date];//

現在時間,你可以輸出來看下是什麼格式

nsstring *nowtimestr = [formatter stringfromdate:datenow];//

----------將nsdate按formatter格式轉成nsstring

時間轉時間戳的方法:

nsstring *timesp = [nsstring stringwithformat:@"

%d", (long

)[datenow timeintervalsince1970]];

nslog(

@"timesp:%@

",timesp); //

時間戳的值

時間戳轉時間的方法

nsdate *confromtimesp = [nsdate datewithtimeintervalsince1970:1296035591

]; nslog(

@"1296035591 = %@

",confromtimesp);

nsstring *confromtimespstr =[formatter stringfromdate:confromtimesp];

nslog(

@"confromtimespstr = %@

",confromtimespstr);

下面來說隨機數:

rand() 可獲得偽隨機數。但是僅僅這樣寫的話,同一段**每次執行程式獲得的隨機數相同。

因為在呼叫rand()前自動呼叫了srand(

1); 這條語句。 只有當srand()的形參是變化的時每次執行獲得的隨機數才不同。

用什麼樣的隨時變化的引數呢? 用time(null), 即srand((unsigned)time(null)); rand(); 這樣每次執行得到的隨機數不同。

如何獲得某個區間的隨機數?

---- 如果是區間[0,n), rand()%n 就可以了

---- 如果是區間[m,n), rand()%n+m 就可以了

----如果是區[0,1), rand()/double

(rand_max) 就可以可以了。(rand_max在cstdlib裡有定義)

這裡有更詳細的介紹:

使用的例子:

int a =arc4random() + 16; //

從16到20的隨機數

int b = random()0; //

從0到100的隨機數

nslog(@"

arc4random: %d

",a);

nslog(

@"random: %d

",b);

srandom(time(null));

//將隨機數種子重置,

linux 時間戳及時間差計算

使用時間戳轉換為具體格式的日期輸出,輸出格式為 date d 1970 01 01 utc timestamp seconds y m d t z root mail161 centos date wed oct 27 09 49 22 cst 2010 root mail161 centos da...

計算時間差

計算時間差的問題,之前用的datediff datediff 返回跨兩個指定日期的日期和時間邊界數。語法datediff datepart startdate enddate 引數datepart 是規定了應在日期的哪一部分計算差額的引數。下表列出了 microsoft sql server 識別的...

計算時間差

php 初始化變數 stardate substr gstardate,0,10 enddate substr genddate,0,10 共有多少天 start mktime 0,0,0,substr stardate,5,2 substr stardate,8,2 substr stardate...