iOS 时间格式化

来源:互联网 发布:天行加速器 for mac 编辑:程序博客网 时间:2024/05/29 14:07

字符串转时间

iOS 中 NSDate 是时间管理类,这里获取到的时间是 UTC 时间,可以根据需要转换成任意地区的时间。 
NSFormatter 类是时间格式化类,可以根据指定的格式、地区将指定的时间转换为 NSDate 对象

<code class="hljs vbscript has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">NSString* <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">string</span> = @<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"20110826134106"</span>;    NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease];    [inputFormatter <span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">setLocale</span>:[[[NSLocale alloc] initWithLocaleIdentifier:@<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"en_US"</span>] autorelease]];    [inputFormatter setDateFormat:@<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"yyyyMMddHHmmss"</span>];    NSDate* inputDate = [inputFormatter dateFromString:<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">string</span>];</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

时间格式转换

<code class="hljs bash has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">NSString *dateStr = @<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"2015-11-25 00:00"</span>;NSDateFormatter *formatter = [[NSDateFormatter alloc] init];//  [formatter <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">set</span>Locale:[[NSLocale alloc] initWithLocaleIdentifier:@<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"en_US"</span>]];[formatter <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">set</span>DateFormat:@<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"yyyy-MM-dd HH:mm"</span>];NSDate *date = [formatter dateFromString:dateStr];formatter = [[NSDateFormatter alloc] init];[formatter <span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">set</span>DateFormat:@<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">"yyyy年MM月dd日"</span>];NSString *result = [formatter stringFromDate:date];</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li></ul>

获取本地时间

<code class="hljs lua has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;">NSDate *date = [NSDate date];NSDateFormatter *formatter = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">[[NSDateFormatter alloc] init];[formatter setTimeZone:[NSTimeZone localTimeZone]]</span>;// [formatter setLocale:[NSLocale currentLocale]];NSString *result = [formatter stringFromDate:date];</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li></ul>

获取年月日

<code class="hljs objectivec has-numbering" style="display: block; padding: 0px; background-color: transparent; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; word-wrap: normal; background-position: initial initial; background-repeat: initial initial;"><span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSDate</span>*date = [<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSDate</span> date];<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSCalendar</span>*calendar = [<span class="hljs-built_in" style="color: rgb(102, 0, 102); box-sizing: border-box;">NSCalendar</span> currentCalendar];NSDateComponents*comps;<span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;">// 年月日获得</span>comps =[calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit |NSDayCalendarUnit) fromDate:date];NSIntegeryear = [comps year];NSIntegermonth = [comps month];NSIntegerday = [comps day];</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li></ul>

时间格式

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: 毫秒

地区(local identifier)

地区码地区eu en_US美国zh_Hant_HK中国香港zh_Hans_CN中国大陆zh_Hant_TW中国台湾

hr_BA

en_CM

rw_RW

en_SZ

tk_Latn

he_IL

ar

uz_Arab

en_PN

as

en_NF

rwk_TZ

gsw_LI

th_TH

ta_IN

es_EA

fr_GF

ar_001

en_RW

tr_TR

de_CH

ee_TG

en_NG

fr_TG

az

fr_SC

es_HN

en_AG

ru_KZ

gsw

dyo

so_ET

zh_Hant_MO

de_BE

km_KH

my_MM

mgh_MZ

ee_GH

es_EC

kw_GB

rm_CH

en_ME

nyn

mk_MK

bs_Cyrl_BA

ar_MR

en_BM

ms_Arab

en_AI

gl_ES

en_PR

ha_Latn_GH

ff_CM

ne_IN

or_IN

khq_ML

en_MG

pt_TL

en_LC

ta_SG

jmc_TZ

om_ET

lv_LV

es_US

en_PT

vai_Latn_LR

en_NL

iu_Cans_CA

cgg_UG

ta

en_MH

to_TO

zu_ZA

shi_Latn_MA

brx_IN

ar_KM

en_AL

te

chr_US

yo_BJ

fr_VU

pa

tg

ks_Arab

kea

ksh_DE

sw_CD

th

te_IN

fr_RE

ur_IN

yo_NG

ti

guz_KE

tk

kl_GL

ksf_CM

mua_CM

lag_TZ

lb

fr_TN

es_PA

pl_PL

to

hi_IN

dje_NE

es_GQ

kok_IN

pl

fr_GN

bem

ha

ckb

lg

tr

en_PW

en_NO

nyn_UG

sr_Latn_RS

gsw_FR

pa_Guru

he

sn_ZW

qu_BO

lu_CD

mgo_CM

ps_AF

en_BS

ug_Arab

da

ms_Latn_SG

ps

ln

pt

iu_Cans

hi

lo

ebu

de

gu_IN

seh

en_CX

en_ZM

tzm_Latn_MA

fr_HT

fr_GP

lt

lu

ln_CD

vai_Latn

el_GR

lv

en_KE

sbp

hr

en_CY

es_GT

twq_NE

zh_Hant_HK

kln_KE

fr_GQ

chr

hu

es_UY

fr_CA

en_NR

mer

shi

es_PE

fr_SN

bez

sw_TZ

wae_CH

kkj

hy

kk_Cyrl_KZ

en_CZ

teo_KE

teo

dz_BT

ar_JO

mer_KE

khq

ln_CF

nn_NO

en_MO

ar_TD

dz

ses

en_BW

en_AS

ar_IL

ms_Latn_BN

bo_CN

nnh

teo_UG

hy_AM

ln_CG

sr_Latn_BA

en_MP

ksb_TZ

ar_SA

smn_FI

ar_LY

en_AT

so_KE

fr_CD

af_NA

en_NU

es_PH

en_KI

en_JE

lkt

en_AU

fa_IR

ky_Cyrl

uz_Latn_UZ

ewo_CM

fr_PF

ca_IT

en_BZ

ar_KW

pt_GW

fr_FR

am_ET

en_VC

fr_DJ

fr_CF

es_SV

en_MS

pt_ST

ar_SD

luy_KE

gd_GB

de_LI

fr_CG

ckb_IQ

zh_Hans_SG

en_MT

ewo

af_ZA

os_GE

om_KE

nl_SR

es_ES

es_DO

ar_IQ

fr_CH

nnh_CM

es_419

en_MU

bm_Latn

en_US_POSIX

yav_CM

luo_KE

dua_CM

et_EE

en_IE

ak_GH

rwk

es_CL

kea_CV

fr_CI

ckb_IR

fr_BE

se

en_NZ

ky_Cyrl_KG

en_LR

en_KN

nb_SJ

sg

sr_Cyrl_RS

ru_RU

en_ZW

sv_AX

si

ga_IE

en_VG

ff_MR

sk

agq_CM

fr_BF

naq_NA

sl

en_MW

mr_IN

az_Latn

en_LS

de_AT

ka

sn

sr_Latn_ME

fr_NC

so

is_IS

twq

ig_NG

sq

fo_FO

sr

tzm

ga

om

en_LT

bas_CM

se_NO

ki

nl_BE

ar_QA

gd

sv

kk

sw

es_CO

az_Latn_AZ

rn_BI

or

kl

ca

en_VI

km

os

en_MY

kn

en_LU

fr_SY

ar_TN

en_JM

fr_PM

ko

fr_NE

fr_MA

gl

ru_MD

saq_KE

ks

fr_CM

lb_LU

gv_IM

fr_BI

en_LV

ks_Arab_IN

es_NI

en_GB

kw

nl_SX

dav_KE

tr_CY

ky

en_UG

nus_SD

en_TC

tzm_Latn

ar_EG

fr_BJ 
gu

es_PR

fr_RW

sr_Cyrl_BA

gv

fr_MC

cs

bez_TZ

es_CR

asa_TZ

ar_EH

ms_Arab_BN

mn_Cyrl

sbp_TZ

en_IL

ha_Latn_NE

lt_LT

mfe

en_GD

cy

ca_FR

es_BO

fr_BL

bn_IN

uz_Cyrl_UZ

az_Cyrl

en_IM

sw_KE

en_SB

pa_Arab

ur_PK

haw_US

ar_SO

en_IN

ha_Latn

fil

fr_MF

en_WS

es_CU

ja_JP

fy_NL

en_SC

en_IO

pt_PT

en_HK

en_GG

fr_MG

de_LU

ms_Latn_MY

tg_Cyrl

en_SD

shi_Tfng

ln_AO

ug_Arab_CN

as_IN

en_GH

ro_RO

jgo_CM

dua

en_UM

en_SE

kn_IN

en_KY

vun_TZ

kln

en_GI

ca_ES

rof

pt_CV

kok

pt_BR

ar_DJ

yi_001

fi_FI

tg_Cyrl_TJ

zh

es_PY

ar_SS

mua

sr_Cyrl_ME

vai_Vaii_LR

en_001

nl_NL

en_TK

si_LK

en_SG

sv_SE

fr_DZ

ca_AD

pt_AO

vi

xog_UG

xog

en_IS

nb

seh_MZ

es_AR

sk_SK

en_SH

ti_ER

nd

az_Cyrl_AZ

zu

ne

nd_ZW

el_CY

en_IT

nl_BQ

da_GL

ja

rm

fr_ML

rn

en_VU

rof_TZ

ro

ebu_KE

ru_KG

en_SI

sg_CF 
mfe_MU

nl

brx

bs_Latn

fa

zgh_MA

en_GM

shi_Latn

en_FI

nn

en_EE

ru

kam_KE

fur

vai_Vaii

ar_ER

ti_ET

rw

ff

luo

fa_AF

ha_Latn_NG

nl_CW

en_HR

en_FJ

fi

pt_MO

be

en_TO

en_SK

bg

ru_BY

it_IT

ml_IN

gsw_CH

qu_EC

fo

sv_FI

en_FK

nus

ta_LK

vun

sr_Latn

fr

en_SL

bm

ar_BH

guz

bn

bo

ar_SY

lo_LA

ne_NP

uz_Latn

be_BY

es_IC

sr_Latn_XK

ar_MA

pa_Guru_IN

br

luy

kde_TZ

bs

fy

fur_IT

hu_HU

ar_AE

en_HU

sah_RU

zh_Hans

en_FM

sq_AL

ko_KP

en_150

en_DE

fr_MQ

en_CA

hsb_DE

en_TR

ro_MD

es_VE

fr_WF

mt_MT

kab

nmg_CM

en_GR

ru_UA

fr_MR

tk_Latn_TM

zh_Hans_MO

mn_Cyrl_MN

ff_GN

bs_Cyrl

sw_UG

ko_KR

en_DG

bo_IN

en_CC

shi_Tfng_MA

lag

it_SM

os_RU

en_TT

ms_Arab_MY

sq_MK

ms_Latn

bem_ZM

kde

ar_OM

cgg

bas

bm_Latn_ML

kam

es_MX

sah

wae

en_GU

zh_Hant

fr_MU

fr_KM

ar_LB

en_BA

en_TV

sr_Cyrl

dje

kab_DZ

fil_PH

se_SE

vai

hr_HR

bs_Latn_BA

nl_AW

dav

so_SO

ar_PS

en_FR

uz_Cyrl

ff_SN

en_BB

ki_KE

naq

en_SS

mg_MG

mas_KE

en_RO

en_PG

mgh

dyo_SN

mas

agq

bn_BD

haw

yi

nb_NO

da_DK

en_DK

saq

ug

cy_GB

fr_YT

jmc

ses_ML

en_PH

de_DE

ar_YE

yo

lkt_US

uz_Arab_AF

jgo

sl_SI

uk

en_CH

asa

lg_UG

qu_PE

mgo

id_ID

en_NA

en_GY

zgh

pt_MZ

fr_LU

kk_Cyrl

mas_TZ

en_DM

ta_MY

dsb

en_BE

mg

ur

fr_GA

ka_GE

nmg

en_TZ

eu_ES

ar_DZ

id

so_DJ

hsb

yav

mk

pa_Arab_PK

ml

en_ER

ig

se_FI

mn

ksb

uz

vi_VN

ii

qu

en_PK

ee

mr

ms

en_ES

sq_XK

it_CH

mt

en_CK

br_FR

sr_Cyrl_XK

ksf

en_SX

bg_BG

en_PL

af

el

cs_CZ

fr_TD

is

ksh

my

en

it

dsb_DE

ii_CN

smn

iu

eo

en_ZA

en_AD

ak

en_RU

kkj_CM

am

es

et

uk_UA

0 0
原创粉丝点击