最全面的NSDateHelper 分享

NSDateUtil 分享 (ios开发交流群:486468672)

代码下载:https://github.com/foxswang/NSDateUtil

史上最全面NSDate Utility 没有之一

常用格式化字符串 满足80% 工作使用场景
/*
MMM d, yyyy h:mm a      9月 12, 2015 7:36 下午
MMM d, yyyy             9月 12, 2015
MMM d h:mm a            9月 12 7:36 下午
MMM d                   9月 12
EEEE                    星期六
EEEE h:mm a             星期六 7:36 下午
‘at‘ h:mm a             at 7:36 下午
yyyy-MM-dd              2015-09-12
HH:mm:ss                19:36:24
yyyy-MM-dd HH:mm:ss     2015-09-12 19:36:24
 */

  

使用例子

格式化字符串
//yyyy-MM-dd HH:mm:ss     2015-09-12 19:36:24
[date stringWithFormat:@"yyyy-MM-dd HH:mm:ss"] 
类似新浪微博的 ,刚刚,1分钟前 ,1小时前,1天前,显示

   [date stringWithHumanReadEasy]
   //输出刚刚,N分钟前,N小时前,昨天 HH:mm, YYYY-MM HH:mm
获取时间的详细信息
/*
 获取时间的详细
 */
- (NSUInteger)second;
- (NSUInteger)minute;
- (NSUInteger)hour;
- (NSUInteger)day;
- (NSUInteger)weekday;
- (NSUInteger)weekNumber;
- (NSUInteger)month;
- (NSUInteger)year;
对日期的修改,获得新的时间
//对日期的修改
//增加年
+ (NSDate *)dateByAddingYear:(int)year toDate:(NSDate *)date;
//增加月
+ (NSDate *)dateByAddingMonth:(int)month toDate:(NSDate *)date;
//增加天数
+ (NSDate *)dateByAddingDay:(int)day toDate:(NSDate *)date;
//增加小时
+ (NSDate *)dateByAddingHour:(int)hour toDate:(NSDate *)date;
+ (NSDate *)dateByAddingMinute:(int)minute toDate:(NSDate *)date;
+ (NSDate *)dateByAddingSecond:(int)second toDate:(NSDate *)date;
判断是今天,昨天,明天
- (BOOL)isToday;
- (BOOL)isYesterday;
- (BOOL)isTomorrow;;
对周的一些操作

+ (BOOL)dateIsSunday:(NSDate *)date;
+ (BOOL)dateIsMonday:(NSDate *)date;
+ (BOOL)dateIsTuesday:(NSDate *)date;
+ (BOOL)dateIsWednesday:(NSDate *)date;
+ (BOOL)dateIsThurday:(NSDate *)date;
+ (BOOL)dateIsFriday:(NSDate *)date;
+ (BOOL)dateIsSaturday:(NSDate *)date;

//本周第一天
- (NSDate *)beginningOfWeek;
//今天0点0分
- (NSDate *)beginningOfDay;
//本周的最后一天时间
- (NSDate *)endOfWeek;
//获取该日期所在的月的天数
+ (int)numOfDaysOnMonth:(NSDate *)date;
 
时间: 2024-12-18 20:17:00

最全面的NSDateHelper 分享的相关文章

最全面的iOS和Mac开源项目和第三方库汇总

UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看“使用方法”. (国人写) XHRefreshControl – XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHou

超全面的.NET GDI+图形图像编程教程

本篇主题内容是.NET GDI+图形图像编程系列的教程,不要被这个滚动条吓到,为了查找方便,我没有分开写,上面加了目录了,而且很多都是源码和图片~ (*^_^*) 本人也为了学习深刻,另一方面也是为了分享给大家,纯手工码了好几天的字,喜欢的表忘了点赞哦~给点小小的动力~ 目录: <GDI+绘图基础> 1 GDI+概述 2 Graphics类 2.1 Graphics类的方法成员 2.2 引用命名空间 3 常用画图对象 3.1 Pen类 3.2 Color结构 3.3 Font类 3.4 Bru

最全面的65条最常用正则表达式

最全面的65条最常用正则表达式 很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求.所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下.给自己留个底,也给朋友们做个参考. 一.校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-

整理得比较全面的MySQL优化参考

本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就需要具体分析了. 1.硬件层相关优化 1.1.CPU相关 在服务器的BIOS设置中,可调整下面的几个配置,目的是发挥CPU最大性能,或者避免经典的NUMA问题: 1.选择Performance Per Watt Optimized(DAPC)模式,发挥CPU最大性能,跑DB这种通常需要高运算量的服务就不要考

这里是最全面的 python 字符串拼接总结,赶快收藏!

在 Python 中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅. 加号连接 第一种,通过+号的形式: >>> a, b ='hello',' world' >>> a + b 'hello world' 逗号连接 第二种,通过,逗号的形式: >>> a, b ='hello',' world' >>> print(a, b) hello world 但是,使用,逗号形式要注意一点,就是只能用于print打

C语言编程:一本全面的C语言入门教程(第三版)PDF下载

网盘下载地址:C语言编程:一本全面的C语言入门教程(第三版)PDF下载 – 易分享电子书PDF资源网 作者: (美)Stephen Kochan 出版社: 电子社博文视点资讯有限公司 译者: 张小潘 出版年: 2006年 页数: 543 页 定价: 59.00元 装帧: 平装 ISBN: 9787121007354 内容简介 · · · · · · 本书是极负盛名的C语言入门经典教材,其第一版发行至今已有20年的历史.本书内容详实全面,由浅入深,示例丰富,并在每个章节后面附有部分习题,非常适合读

最全面的Android Studio使用教程

最全面的Android Studio使用教程 Android Studio是一套面世时间还不长的IDE(即集成开发环境),目前已经免费向谷歌及Android的开发人员发放.Android Studio以IntelliJ IDEA为基础,后者同样是一套相当出色的Android开发环境.在今天的文章中,我们将共同了解如何创建一个全新Android项目,同时充分发挥 Android Studio所提供的各项功能优势. 1.项目设置 在开始畅游Android Studio的世界之前,大家首先需要点击此处

目前见到的最傻瓜全面的STRUTS入门教程^_^

目前见到的最傻瓜全面的STRUTS入门教程^_^ 一  Jakarta Struts学习之新手上路 Web 应用开发早期曾经是那么的“简单”,那个时候还只是纯HTML页面和浏览器特效而已.由于还涉及不到动态数据操作和商业应用,也就省去了很多麻烦.但是这 样的“简单”只是过眼云烟,如今我们不得不为复杂的基于Web的商业应用开发采用诸多技术. 本文将介绍如何利用Struts进行应用开发的前台整合的开发过程.Struts是一个为开发基于模型(Model)-视图(View)-控制器 (Controlle

最全面的Java多线程用法解析

最全面的java多线程用法解析,如果你对Java的多线程机制并没有深入的研究,那么本文可以帮助你更透彻地理解Java多线程的原理以及使用方法. 1.创建线程 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口.在使用Runnable接口时需要建立一个Thread实例.因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例.Thread构造函数: public Thread( ); public Thread(Runnab