iOS 时间格式化

原创 2015年11月20日 19:02:31

时间转换

参考资料


需要注意的是:使用 NSFormatter 是一个比较耗费资源的操作,如果需要多次使用 NSFormatter,建议复用 NSFormatter 实例来减小资源消耗,防止卡顿


字符串转时间

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

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];

时间格式转换

NSString *dateStr = @"2015-11-25 00:00";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//  [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate *date = [formatter dateFromString:dateStr];

formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy年MM月dd日"];
NSString *result = [formatter stringFromDate:date];

获取本地时间

NSDate *date = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone localTimeZone]];
// [formatter setLocale:[NSLocale currentLocale]];
NSString *result = [formatter stringFromDate:date];

获取年月日

NSDate*date = [NSDate date];
NSCalendar*calendar = [NSCalendar currentCalendar];
NSDateComponents*comps;

// 年月日获得
comps =[calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit |NSDayCalendarUnit) fromDate:date];

NSIntegeryear = [comps year];
NSIntegermonth = [comps month];
NSIntegerday = [comps day];

时间格式

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

相关文章推荐

iOS setDateFormat 显示格式详解 yyyy dd

http://blog.sina.com.cn/s/blog_6bd977b90101gin3.html -(NSString *)getStringFromDate:(NSDate *)aDa...
  • jeffasd
  • jeffasd
  • 2016年07月11日 12:07
  • 2818

iOS NSDateFormatter日期时间格式处理的用法

最近在做新浪rss新闻xml解析过程中,遇到一个时间字符串转换的问题。 问题是:Wed, 3 Apr 2013 04:11:02 GMT (这个数据是在xml文件中获取的)要在这个字符串中截取出04...

格式化时间格式-IOS date format

差不多够用了! 格式化时间格式 G: 公元时代,例如AD公元 yy: 年的后2位 yyyy: 完整年 MM: 月,显示为1-12 MMM: 月,显示为英文月份简写,如 Jan MMMM: 月,显示为英...

IOS将字符串转换为日期时间格式

IOS将字符串转换为日期时间格式    让技术开发讨论更纯粹!CocoaChina问答荣誉每周、每月龙虎榜! 1、如何如何将一个字符串如“ 20110826134106...

IOS开发之格式化日期时间

在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。 例如: //实例化一个NSDateFormatter对象 NSDateFo...

iOS 日期与字符串格式互转

前言1、解决日期转字符串格式; 2、解决字符串转日期格式; 3、解决时区差;代码如下:#import "ViewController.h"@interface ViewController ()@...

ios日期格式转换

1、如何如何将一个字符串如“ 20110826134106”装化为任意的日期时间格式,下面列举两种类型:    NSString* string = @"20110826134106"; ...

iOS时间格式化输出技巧

时间格式化输出 本文来自简书,原文地址:http://www.jianshu.com/p/8f68fe8be4f4 一.前言 最近项目开发过程中用到了大量的关于时间的处理,将后台返回...

iOS中处理时间的类

iOS处理时间的类主要包括NSDate,NSDateFormatter, NSDateComponents, NSCalendar等等,他们每个都是负责处理什么, 又是如何配合起来使用呢? 1. N...

IOS开发之格式化日期时间(转)

在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理。 例如: //实例化一个NSDateFormatter对象 NSDateFo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS 时间格式化
举报原因:
原因补充:

(最多只允许输入30个字)