首页 > OC系列foundation Kit基础-NSDate

OC系列foundation Kit基础-NSDate

一.获取当前时间

1.1创建一个日期对象

        NSDate *date = [NSDate date];NSLog(@"%@",date);

  输出结果:

2016-07-01 17:31:02.410 OCString[907:402963] 2016-07-01 09:31:02 +0000    //因为时区不一样,需要格式化为本地时间
Program ended with exit code: 0

1.2将时间格式化为本地时间

        //日前格式化NSDateFormatter *formatter = [[NSDateFormatter alloc]init];//设置日期格式化对象的两个属性formatter.dateStyle = NSDateFormatterShortStyle;formatter.timeStyle = NSDateFormatterShortStyle;NSString *result = [formatter stringFromDate:date];NSLog(@"%@",result);

  输出结果:

2016-07-01 17:36:20.719 OCString[917:424185] 16/7/1 17:36
Program ended with exit code: 0

二.获取当月一共有多少天

 2.1创建一个日期对象

NSDate *date = [NSDate date];

2.2获取系统提供的日历对象

        //获取系统提供的日历对象NSCalendar *calender = [NSCalendar currentCalendar];

2.3获取当月第一天和最后一天

        NSRange range = [calender rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date];NSLog(@"%@",NSStringFromRange(range));

  输出结果:

2016-07-01 17:46:21.526 OCString[947:466115] {1, 31}
Program ended with exit code: 0

三.获取当年一共有多少天

同上二中的方法

四.获取当月第一天和最后一天是星期几

 4.1获取当月第一天是星期几

NSDate *date = [NSDate date];

 4.2获取系统提供的日历对象

  NSCalendar *calender = [NSCalendar currentCalendar]; 

 4.3获取当月第一天和最后一天

NSRange range = [calender rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date];

 4.4获取当天时间的日期值

NSDateComponents *todayComp = [calender components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:date];

 4.5计算第一天的日期   

        NSDateComponents *startComp = [todayComp copy];startComp.day = range.location; 

 4.6计算最后一天的日期    

        NSDateComponents *endComp = [todayComp copy];endComp.day = range.length;

  4.7日期转为时间对象

        NSDate *startDate = [calender dateFromComponents:startComp];NSDate *endDate = [calender dateFromComponents:endComp];

   4.8计算星期几

        NSInteger start_week = [calender ordinalityOfUnit:NSCalendarUnitWeekday inUnit:NSCalendarUnitWeekOfYear forDate:startDate];NSInteger end_week = [calender ordinalityOfUnit:NSCalendarUnitWeekday inUnit:NSCalendarUnitWeekOfYear forDate:endDate];

 

转载于:https://www.cnblogs.com/kaihuacheng/p/5634022.html

更多相关:

  • function getYearMonthList(startDate, endDate) {//返回月份的数组 如 ['2021/07','2021/08']var arr = [];var s = new Date(startDate).toLocaleString("zh-Hans-CN", {year: "numeric",...

  • 0.cal 2019  #输出日历并显示今天是哪一天 1.命令“date”,显示系统的当前日期和时间; 2.命令“date 040100002016”,屏幕显示新修改的系统时间;  #不太明白 3. 转载于:https://www.cnblogs.com/Formulate0303/p/11142997.html...

  • 题目1 --日期 借助随机数,创建一个从1995.1.1 00:00:00 到 1995.12.31 23:59:59 之间的随机日期 package date;import java.util.Date;public class TestDate {public static void main(String[] args) {lo...

  • 一、Date类型的初始化 1、 Date(int year, int month, int date); 直接写入年份是得不到正确的结果的。 因为java中Date是从1900年开始算的,所以前面的第一个参数只要填入从1900年后过了多少年就是你想要得到的年份。 月需要减1,日可以直接插入。 这种方法用的比较少,常用的是第二种方法。...

  • 在视频开发中,我们常常看到这样的效果,拖动进度条时,或是在进度条上方或是在屏幕中间,显示拖动进度条位置时刻的某一帧画面。这个需求,如果是你,你会如何做?通常一个需求,不仅要考虑实现,还有考虑一些是否有性能上影响。下面我想到的4个方案:1、在拖动过程中,可以通过TextureView来显示预览图,拖动进度条到某个position后,通过...

  • 项目中需要获取apk的编译日期,首先肯定是用手动的方式获取,但这样容易遗忘,怎么样通过代码的方式获取呢? 其实android 为我们提供了一个BuildConfig的类,android 每次编译的时候都会自动生成 一次BuildConfig 类,这个类包含着编译时的各个参数,所以只需要在这个类中增加一个常量,然后设定这个常量的值就是编...

  • 1.根据用户名获取用户 SPUser user = web.EnsureUser((new SPFieldLookupValue(item["Mitarbeiter"].ToString())).LookupValue);   2.根据guid获取Feature对象 SPFeature listDisplaySettingFeatu...

  • 就用到两条.net自带的获取数据库信息的语句 OleDbConnection con = new OleDbConnection(connection); // OleDB数据库连接实例   // 获取数据库中表的相关信息DataTable dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Ta...

  • 轉自:http://www.cnblogs.com/mrhgw/archive/2006/11/08/553737.html   补充: scrollHeight: 获取对象的滚动高度。 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见...