ios 时间类转化为字符串

//  NSString* timeStr = [self stringWithDate: [NSDate dateWithTimeIntervalSince1970:userGifGrouptEntity.lastGiftSentTime / 1000]]

- (NSString *)stringWithDate:(NSDate *)date  {

if (date == nil)

return @"";

NSDate *now = [NSDate date];

NSTimeInterval time = [now timeIntervalSinceDate:date];

NSCalendar* calendar = [NSCalendar currentCalendar];

NSDateComponents *nowComponents = [calendar components:NSYearCalendarUnit | NSHourCalendarUnit fromDate:now];

NSDateComponents *dateComponets = [calendar components:NSYearCalendarUnit fromDate:date];

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

[dateFormatter setCalendar: [NSCalendar autoupdatingCurrentCalendar]];

if ([nowComponents year] != [dateComponets year]) {

[dateFormatter setDateFormat:@"MM-dd-yyyy"];

return [dateFormatter stringFromDate:date];

}

int nowHour = (int)[nowComponents hour];

int days_ago = ((int)time + 3600*(24-nowHour))/(3600*24);

if (days_ago == 0){

[dateFormatter setDateFormat:@"HH:mm"];

return [dateFormatter stringFromDate:date];

}else if(days_ago == 1) {

return @"Yesterday";

}else{

[dateFormatter setDateFormat:@"MM-dd"];

return [dateFormatter stringFromDate:date];

}

}

时间: 2024-08-03 20:39:29

ios 时间类转化为字符串的相关文章

iOS 时间类常用方法

//当前日前日期 NSDate *today = [NSDate date]; //时区 NSTimeZone *zone = [NSTimeZone systemTimeZone]; //设置间隔 _interval = [zone secondsFromGMTForDate: today]; //今天+8小时(中国上海时区) today = [today  dateByAddingTimeInterval: _interval]; //获取明天日期 NSDate *tomorrowDate

iOS-时间类date详解

NSDate定义时间的类 NSDate是一个时间类,在编写程序时,我们很少遇到.今天我突然碰到,感觉很生疏. 给大家发个博客,让大家也都温习一下,哈哈! 兄弟用的时候突然发现竟然有一些bug,大家用时可以写验证了再用. 1.定义:NSDate *date =[NSDate date];//当前时间对时间的加减 2.对时间的操作 NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:3600.0*10];//从当前时间开始,若干秒后的时间,参数代

Object类、日期时间类、system类及StringBuilder字符串容器

一.Object类常用API 1.1 概述 java.lang.Object类是Java语言中的根类,即所有类的父类.Object类中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父类, 那么默认则继承自Object类. 1.2 toString方法 public String toString() //返回值为 对象的类型[email protected]+内存地址值 由于toString方法返回的结果是内存地址,而在开发中,经常需要按

iOS 时间处理(转)

NSDate NSDate对象用来表示一个具体的时间点. NSDate是一个类簇,我们所使用的NSDate对象,都是NSDate的私有子类的实体. NSDate存储的是GMT时间,使用的时候会根据 当前应用 指定的 时区 进行时间上的增减,以供计算或显示. 可以快速地获取的时间点有: now (当前时间点) 相对于1 January 2001, GMT的时间点 相对于1970的时间点 distantFuture (不可达到的未来的某个时间点) distantPast (不可达到的过去的某个时间点

Java时间类Date与Calendar的区别与使用 񕫴

原文: http://blog.gqylpy.com/gqy/464 置顶:来自一名75后老程序员的武林秘籍--必读(博主推荐) 来,先呈上武林秘籍链接:http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我

js自定义函数——日期时间类

//设置时间类 var Wsdatatime = function(){ this.today = (new Date()).getTime(); //当前时间 } Wsdatatime.prototype={ setTime:function(p,bz){ var preDate = new Date( this.today +p*24*60*60*1000); var y = preDate.getFullYear(); var m = preDate.getMonth()+1; var d

1、AJAX里面status的值代表什么 2、get post 的区别 3、怎样把对象转化成字符串 4、闭包、继承、原型、原型链 5 、http传输协议 6、arguments是什么

1.AJAX里面status的值代表什么     在JavaScript里面写AJax的时,最关键的一步是对XMLHttpRequest对象建立监听,即使用"onreadystatechange"方法.监听的时候,要对XMLHttpRequest对象的请求状态进行判断,通常是判断readyState的值为4且status的值为200或者304时执行我们需要的操作.以下记录了一些常用readState以及status的值及其含义 readyState 属性表示Ajax请求的当前状态.它的

java日期时间类总结

日期时间类总结 一. Date类 Date类对象的创建: 1.创建一个当前时间的Date对象 //创建一个代表系统当前日期的Date对象 Date d = new Date(); 2.创建一个我们指定的时间的Date对象: 使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值. //创建一个代表2014年6月12号的Date对象 D

iOS时间问题

iOS时间问题 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等.解决办法网上比比皆是,但大多零零散散,很多资料并没有说明其中问题.这里集中总结一下,以便于以后查阅和供大家参考.有我自己的理解,错漏之处请大家吐槽. NSDate的8小时问题 NSDate转字符串时间 初始化一个NSDate时间[NSDate date],获取的是零时区的时间(格林尼治的时间: 年-月-日 时:分:秒: +时区),而北京时间是东八区时间,因为时区不同,所以打印的时间相差了8小时