IOS將字串轉換為日期時間格式

2021-07-12 07:51:50 字數 2294 閱讀 5836

1、如何如何將乙個字串如「 20110826134106」裝化為任意的日期時間格式,下面列舉兩種型別:

nsstring* string = @"20110826134106";

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

[inputformatter setlocale:[[[nslocale alloc] initwithlocaleidentifier:@"en_us"] autorelease]];

[inputformatter setdateformat:@"yyyymmddhhmmss"];

nsdate* inputdate = [inputformatter datefromstring:string];

nslog(@"date = %@", inputdate);

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

[outputformatter setlocale:[nslocale currentlocale]];

[outputformatter setdateformat:@"yyyy年mm月dd日 hh時mm分ss秒"];

nsstring *str = [outputformatter stringfromdate:inputdate];

nslog(@"testdate:%@", str);

兩次列印的結果為:

date = 2011-08-26 05:41:06 +0000

testdate:2023年08月26日 13時41分06秒

說明:上面的時間是美國時間,下面的沒有設定

nsstring* string = @"wed, 05 may 2011 10:50:00 +0800";

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

[inputformatter setlocale:[[[nslocale alloc] initwithlocaleidentifier:@"en_us"] autorelease]];

[inputformatter setdateformat:@"eee, d mmm yyyy hh:mm:ss z"];

nsdate* inputdate = [inputformatter datefromstring:string];

nslog(@"date = %@", inputdate);

ps:2、以前一直為這個事情糾結,無奈只能拼接字串:

nsstring *str=@"20120403000000";

nsstring *datestr=[nsstring stringwithformat:@"有效期至:%@年%@月%@日",

[str substringwithrange:nsmakerange(0, 4)],

[str substringwithrange:nsmakerange(4, 2)],

[str substringwithrange:nsmakerange(6, 2)]];

這個方法笨,可是沒辦法,查了好多資料,都沒明白,今天突然明白了,呵呵,只要把那個[inputformatter setdateformat:@"eee, d mmm yyyy hh:mm:ss z"];@「」裡面的格式轉化為你字串的格式一切就ok了,不知道我說明白了嗎

3、ios-nsdateformatter 格式說明:

g: 公元時代,例如ad公元

yy: 年的後2位

yyyy: 完整年

mm: 月,顯示為1-12

mmm: 月,顯示為英文月份簡寫,如 jan

mmmm: 月,顯示為英文月份全稱,如 janualy

dd: 日,2位數表示,如02

d: 日,1-2位顯示,如 2

eee: 簡寫星期幾,如sun

eeee: 全寫星期幾,如sunday

aa: 上下午,am/pm

h: 時,24小時制,0-23

k:時,12小時制,0-11

m: 分,1-2位

mm: 分,2位

s: 秒,1-2位

ss: 秒,2位

s: 毫秒

常用日期結構:

yyyy-mm-dd hh:mm:ss.sss

yyyy-mm-dd hh:mm:ss

yyyy-mm-dd

mm dd yyyy 

SQL Server將日期轉換為字串

獲取日期型別引數的年份,返回int型別年份 year 函式返回表示指定日期中的年份的整數。month 函式返回表示指定日期中的月份的整數。day 函式返回表示指定日期中的日期的整數。select year getdate 將時間2006 05 16 10 57 49字串轉換成的日期格式為 2006 ...

Python如何將字串轉換為日期

問題 你的應用程式接受字串格式的輸入,但是你想將它們轉換為 datetime 物件以便在上面執行非字串操作。解決方案 使用python的標準模組 datetime 可以很容易的解決這個問題。比如 from datetime import datetime text 20ojdxu12 09 20 y...

Python 字串轉換為日期

應用程式接受字串格式的輸入,但是你想將它們轉換為datetime 物件以便在上面執行非字串操作。使用python 的標準模組datetime 可以很容易的解決這個問題。比如 from datetime import datetime text 2012 09 20 y datetime.strpti...