字符串转时间
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