//传进来时间字符串转换

+ (NSString *) getChatTimeString:(NSString *)timeString {

if (timeString==nil || timeString.length==0 || [timeString isEqualToString:@"0"]||timeString.length < 10) {

#warning XXX

return @"";

}

/**将字符串转换成时间*/

NSDate *timeDate = [CommonFunction getCurrentStringAsDate:timeString];

NSTimeInterval secondsPerDay = 24 * 60 * 60;

NSDate *date = [NSDate date];

NSDate *qian = [date dateByAddingTimeInterval: - 2 * secondsPerDay];

NSDate *yesterday = [date dateByAddingTimeInterval: -secondsPerDay];

NSString * todayString = [[date description] substringToIndex:10];

NSString * yesterdayString = [[yesterday description] substringToIndex:10];

NSString * qianString = [[qian description] substringToIndex:10];

NSString * dateString = [[timeDate description] substringToIndex:10];

NSString *year1 = [todayString substringWithRange:NSMakeRange(0, 4)];

NSString *year2 = [timeString substringWithRange:NSMakeRange(0, 4)];

if ([dateString isEqualToString:todayString]&& timeString.length>=16)//是否等于今天

{

//        return [timeString substringWithRange:NSMakeRange(11, 5)];

return [NSString stringWithFormat:@"今天 %@",[timeString substringWithRange:NSMakeRange(11, 5)]];

} else if ([dateString isEqualToString:yesterdayString])//是否等于昨天

{

return [NSString stringWithFormat:@"昨天 %@",[timeString substringWithRange:NSMakeRange(11, 5)]];

}else if ([dateString isEqualToString:qianString])//是否等于前天

{

return [NSString stringWithFormat:@"前天 %@",[timeString substringWithRange:NSMakeRange(11, 5)]];

}

else

{

if (![year1 isEqualToString:year2]) {

return timeString;

}

return [timeString substringWithRange: NSMakeRange(5, 11)];

}

//系统时间转换

+ (NSDate *) getCurrentStringAsDate:(NSString *)date {

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

[dateFormatter setDateFormat: @"YYYY-MM-dd HH:mm"];

NSDate *dateString = [dateFormatter dateFromString:date];

return dateString;

}

//获取当前时间日期,返回字符串

+ (NSString *) getCurrentDateAsString {

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

[dateFormatter setDateFormat: @"YYYY-MM-dd HH:mm:ss"];

NSString *dateString = [dateFormatter stringFromDate: [NSDate date]];

return dateString;

}

时间与NSString转换的更多相关文章

  1. System.currentTimeMillis()计算方式与时间的单位转换

    目录[-] 一.时间的单位转换 二.System.currentTimeMillis()计算方式 一.时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000 ...

  2. java中,字符串类型的时间数据怎样转换成date类型。

    将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:1.定义一个字符串类型的时间:2.创建一个SimpleDateFormat对象并设置格式:3.最后使用 ...

  3. Javaweb学习笔记——(十七)——————JDBC的原理、四大核心类、四大参数、预编译、Dao模式、批处理、大数据、时间类型的转换

    JDBC入门 *导入jar包:驱动 *加载驱动类:Class.forName("类名"); *给出url.username.password,其中url背下来 *使用DriverM ...

  4. Java练习 SDUT-2246_时间日期格式转换

    时间日期格式转换 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于日期的常用格式,在中国常采用格式的是"年 ...

  5. [开发笔记]-unix时间戳、GMT时间与datetime类型时间之前的转换

    前段时间项目中涉及到了MySql和MsSql数据类型之间的转换,最近又在研究新浪微博的API,涉及到了带有时区的GMT时间类型的转换,所以,特记录于此,以备日后查询. 一:UNIX时间戳与dateti ...

  6. 二、Python系列——time时间格式的转换及计算

    # -*- coding:utf-8 -*- import pandas as pd import time import datetime start_date = '2020-06-08' # 一 ...

  7. 【转】time 模块详解(时间获取和转换)

    转自鱼C论坛--https://fishc.com.cn/forum.php?mod=viewthread&tid=51326&highlight=time time 模块 -- 时间 ...

  8. JS - 获取当前的时间,并且转换成年 - 月 - 日格式!

    先获取当前时间,并转换成年月日格式! function getNowFormatDate() { var date = new Date(); var seperator1 = "-&quo ...

  9. Oracle内置函数:时间函数,转换函数,字符串函数,数值函数,替换函数

    dual单行单列的隐藏表,看不见 但是可以用,经常用来调内置函数.不用新建表 时间函数 sysdate 系统当前时间 add_months 作用:对日期的月份进行加减 写法:add_months(日期 ...

随机推荐

  1. 利用Jquery使用HTML5的FormData属性实现对文件的上传

    1.利用Jquery使用HTML5的FormData属性实现对文件的上传 在HTML5以前我们如果需要实现文件上传服务器等功能的时候,有时候我们不得不依赖于FLASH去实现,而在HTML5到来之后,我 ...

  2. Javascript一些小细节

    1.判断class存在 $(obj).hasClass('BTCheck_ON') $obj.attr('class')=="BTCheck_ON" 有时我们判断样式存在会写成第二 ...

  3. css实现垂直居中的方法

    1,设置其line-height值,使之与其高度相同 2,设置table结构,用vertical-align:middle; 3,应用定位,父级别:position:relative:子级:posit ...

  4. 使用Lucene.NET实现简单的站内搜索

    使用Lucene.NET实现简单的站内搜索 导入Lucene.NET 开发包 Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和 ...

  5. 再议使用Python批量裁切栅格

    曾经写过<使用Python脚本批量裁切栅格>,但今天又遇到这个情况则发现了问题.我们遇到的实际问题往往是有一个需要裁剪的影像(大块的),另外有一个矢量面,现在需要按矢量面每一个要素进行裁剪 ...

  6. App开发流程之源代码Git管理

    base项目已经可以编译运行了,只不过没有实际功能而已.继续完善base项目前,我们需要考虑一下代码管理的事情了. 不管是一个人开发还是一个团队开发,对源代码进行版本管理是必须的,任何人对代码的的任何 ...

  7. 【读书笔记】iOS-NSDictionary与NSArray的比较

    有时候为什么不用数组存储然后在数组里查询数值呢?字典(也称为散列表或关联数组)使用的是键查询的优化存储方式.它可以立即找出要查询的数据,而不需要遍历整个数组进行查找.对于频繁的查询和大型的数据集来说, ...

  8. 【读书笔记】iOS-GCD-系统提供的dispatch方法

    系统提供的dispatch方法如下: //系统提供的dispatch方法 //后台执行: dispatch_async(dispatch_get_global_queue(0, 0), ^{ // s ...

  9. IOS 二维码生成

    这篇博客将会介绍二维码的生成. 由于没有什么东西值得长篇大论的,所以这里我就通过代码的实现介绍二维码. 第一部分 第一部分是二维码的简单生成没有其他重点介绍. 效果图 代码部分 // // ViewC ...

  10. block做方法参数时--block的参数传值过程 例1

    说明:此例子中方法的调用在此文中是从下到上调用的.(即:     方法五调用方法四:      方法四调用方法三) 方法一:- (void)setCompletionBlockWithSuccess: ...