NSDateFormatter格式化时间(十七)

@font-face { font-family: "Courier New"; }@font-face { font-family: "宋体"; }@font-face { font-family: "Cambria Math"; }@font-face { font-family: "@宋体"; }@font-face { font-family: "Calibri"; }@font-face { font-family: "Cambria"; }@font-face { font-family: "Heiti SC Light"; }@font-face { font-family: "@Heiti SC Light"; }p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: justify; font-size: 12pt; font-family: Cambria; }h4 { margin: 14pt 0cm 14.5pt; text-align: justify; line-height: 156%; page-break-after: avoid; font-size: 14pt; font-family: Calibri; }.MsoChpDefault { font-family: Cambria; }div.WordSection1 { page: WordSection1; }

NSDateFormatter类,是oc提供好的格式化时间的类,可以将我们获取的时间,格式化成一个我们自己想要展示的方式。

NSDateFormatter会自动判断我们格式化出来的时间,所在时区,比如我们让他输出年月日时分秒,这里会自动判断我们所在的东八区,并获取东八区的时间。


//        NSDateFormatter

//定格式

//自动判断时区,并补上时区

NSDateFormatter *format = [[NSDateFormatter alloc]init];

[format setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];

NSString *time = [format stringFromDate:date11];

NSLog(@"%@",time);//2015-04-21 11:07:07.541 OCLesson7_NSDate[1175:46103] 2015年04月21日 19时07分07秒

这里的格式化输出为:yyyy表示年,MM表示月,dd表示天,HH表示时,mm表示分,ss表示秒。oc中只会识别这几个格式,对年月日什么的都都不识别,所以,这几个字符串放在哪个地方,就会在哪个地方输出相应的年月日。不能改变这些关键字,否则不能识别。

dateFromString把字符串转换成日期

首先,必须用NSDateFormatter的setDateFormat方法来设置格式化输出的格式。才能在定义的字符串按照这个格式定义。


NSDateFormatter *format = [[NSDateFormatter alloc]init];

[format setDateFormat:@"yyyy年MM月dd日 HH时mm分ss秒"];

NSString *time = [format stringFromDate:date11];

NSLog(@"%@",time);//2015-04-21 11:07:07.541 OCLesson7_NSDate[1175:46103] 2015年04月21日 19时07分07秒

//字符串转换成NSDate

NSString *str = @"2016年6月18日 08时59分01秒";//要与上面的@"yyyy年MM月dd日 HH时mm分ss秒"一一匹配,包括空格什么的。如果不匹配返回null

NSDate *d = [[format dateFromString:str] dateByAddingTimeInterval:60*60*8];

NSLog(@"%@",d );

时间: 2024-08-23 15:37:27

NSDateFormatter格式化时间(十七)的相关文章

OC中关于时间的几个函数及格式化时间

// // main.m // 时间格式化 // // Created by Macro on 14-12-10. // Copyright (c) 2014年 Macro. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //返回当前时间,以GMT为准 NSDate * date = [NSDate da

格式化时间

格式化时间 by 伍雪颖 + (NSString *)formatTime:(NSString *)time { NSDateFormatter*dateFormatter =[[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS"]; NSDate *date = [dateFormatter dateFromString:time]; [dateFormatte

nodejs 模块moment格式化时间,获取当前时间的前一天时间

var moment = require('moment'); moment.locale('zh-cn'); var today = {}; var _today = moment(); today.year = _today.format('yyyy'); /*现在的年*/ today.date = _today.format('YYYY-MM-DD'); /*现在的时间*/ today.yesterday = _today.subtract(1, 'days').format('YYYY-

Java 格式化时间 不匹配

今天获取的时间不匹配,获取的时间是现在的时间,但是现实的时候确实 1970 年, 让我拍很郁闷! 应该讲 服务器返回的时间数据 * 1000 之后才进行,解析: Time 解析工具类: package com.hades.newstyle.utils; import java.text.DateFormat; import java.util.Date; /** * 传递一个时间, * 格式化时间的工具类: * * * @author Hades * @time Nov 4, 2014 * @t

php友好格式化时间

/** * 友好格式化时间 * @param int $timestamp 时间 * @param array $formats * @return string */ public static function formatDateTime($timestamp, $formats = null) { if ($formats == null) { $formats = array( 'DAY' => '%s天前', 'DAY_HOUR' => '%s天%s小时前', 'HOUR' =&g

js 格式化时间日期函数小结

下面是脚本之家为大家整理的一些格式化时间日期的函数代码,需要的朋友可以参考下. 代码如下: Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(

Python time 获取格式化时间

Python中取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能. Python中用time.time()取得当前时间的时间戳: >>> import time >>> print time.time() 1438608599.0 这里打印的时间是1970年到现在时间相隔的时间.这样一连串的数字不是我们想要的结果,我们可以利用time模块的格式化时间的方法来处理.用time.localtime()方法,作用是格式

javascript中常见的函数封装 :判断是否是手机,判断是否是微信,获取url地址?后面的具体参数值,毫秒格式化时间,手机端px、rem尺寸转换等

// 判断是否是手机function plat_is_mobile(){ var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os"; var bIsMidp = sUserAgent.match

JavaScript 格式化时间

1 //格式化 yyyy-MM-dd hh:mm:ss 2 function renderTime(date) { 3 if (date == '' || date == null) { 4 return ''; 5 } 6 var da = new Date(parseInt(date.replace("/Date(", "").replace(")/", "").split("+")[0])); 7 r