时间与NSString转换
//传进来时间字符串转换
+ (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转换的更多相关文章
- System.currentTimeMillis()计算方式与时间的单位转换
目录[-] 一.时间的单位转换 二.System.currentTimeMillis()计算方式 一.时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000 ...
- java中,字符串类型的时间数据怎样转换成date类型。
将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:1.定义一个字符串类型的时间:2.创建一个SimpleDateFormat对象并设置格式:3.最后使用 ...
- Javaweb学习笔记——(十七)——————JDBC的原理、四大核心类、四大参数、预编译、Dao模式、批处理、大数据、时间类型的转换
JDBC入门 *导入jar包:驱动 *加载驱动类:Class.forName("类名"); *给出url.username.password,其中url背下来 *使用DriverM ...
- Java练习 SDUT-2246_时间日期格式转换
时间日期格式转换 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于日期的常用格式,在中国常采用格式的是"年 ...
- [开发笔记]-unix时间戳、GMT时间与datetime类型时间之前的转换
前段时间项目中涉及到了MySql和MsSql数据类型之间的转换,最近又在研究新浪微博的API,涉及到了带有时区的GMT时间类型的转换,所以,特记录于此,以备日后查询. 一:UNIX时间戳与dateti ...
- 二、Python系列——time时间格式的转换及计算
# -*- coding:utf-8 -*- import pandas as pd import time import datetime start_date = '2020-06-08' # 一 ...
- 【转】time 模块详解(时间获取和转换)
转自鱼C论坛--https://fishc.com.cn/forum.php?mod=viewthread&tid=51326&highlight=time time 模块 -- 时间 ...
- JS - 获取当前的时间,并且转换成年 - 月 - 日格式!
先获取当前时间,并转换成年月日格式! function getNowFormatDate() { var date = new Date(); var seperator1 = "-&quo ...
- Oracle内置函数:时间函数,转换函数,字符串函数,数值函数,替换函数
dual单行单列的隐藏表,看不见 但是可以用,经常用来调内置函数.不用新建表 时间函数 sysdate 系统当前时间 add_months 作用:对日期的月份进行加减 写法:add_months(日期 ...
随机推荐
- 推荐几个的chorme的扩展程序
下面来解释下这几个插件 (0)Context : 管理这些乱七八糟的扩展程序,插件用的时候,点开,不用的时候,关闭,这样可以降低游览器的负荷 (1)AngularJS Batarang : 测试ang ...
- [原创]winform_PC宴会图片抽奖/文字抽奖
14年6月 好友结婚 14年4月左右知道他们婚礼由迎宾照抽奖的环节 问我有没有可以用的抽奖软件 我网上找了一会儿,就放弃了,自己做一个更快不是? 14年6月,PC宴会图片抽奖软件成功使用 --- 操作 ...
- NEC的学习笔记
写过很多代码后,会有代码的规范有一些需求,会有想写出美观.规范.易懂的代码. 今天学习了NEC,全称Nice Easy CSS(http://nec.netease.com/),顾名思义,就是为了写简 ...
- UIButton在不同状态下显示不同背景色
参考自:原文地址(内容与原文并无区别,只是自己以后方便使用整理了一下) 1.UIButton的background是不支持在针对不同的状态显示不同的颜色. 2.UIButton的backgroundI ...
- 【读书笔记】iOS-Xcode知识-多线程
一,Xcode使用的调试器是GDB.GDB是GNU项目的一部分,它可以在很多不同的平台上使用.如果你愿意,可以通过命令行来运行它.GDB有着完善的文档系统,尽管它的文档有些难于理解并且网络上流传着好几 ...
- 【原】IOS中KVO模式的解析与应用
最近老翁在项目中多处用到了KVO,深感这种模式的好处.现总结如下: 一.概述 KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知.简单 ...
- 深入理解java虚拟机(5)---字节码执行引擎
字节码是什么东西? 以下是百度的解释: 字节码(Byte-code)是一种包含执行程序.由一序列 op 代码/数据对组成的二进制文件.字节码是一种中间码,它比机器码更抽象. 它经常被看作是包含一个执行 ...
- 怎么录制Android视频
有时候我们做了一个Android App想发篇技术文章分享给大家看看效果,该怎么录制这个demo视频呢? 如果你采用的是Android4.4以上版本,可以直接用以下命令来录制视频 adb shell ...
- SQL 相关
SET STATISTICS TIME ON 记录查询的相关数据 生成随机Guid SELECT NewID() 按照某一列排序并生成序号 select Row_Number() OVER (ORDE ...
- MyCat 学习笔记 第十二篇.数据分片 之 分片事务处理
1 环境说明 VM 模拟3台MYSQL 5.6 服务器 VM1 192.168.31.187:3307 VM2 192.168.31.212:3307 VM3 192.168.31.150: 330 ...