Tag: nscalendar

如何获得一年中的月份数?

我想要一个函数,它将返回当前一个月的当前一周数组。 例如,如果当前月份是2015年8月,则会返回[32,33,34,35,36]。 如果月份是2015年2月,则会返回[6,7,8,9]。 有没有办法,我怎么能得到这个? 在苹果文档NSCalendar类有一个选项来获得本年的数量,但这不是我所需要的。

:fromDate不能为零

我得到这个错误。如何解决它,请build议我。 崩溃报告 [__NSCFCalendar components:fromDate:toDate:options:]:fromDate不能为零我的意思是,你认为这个操作应该是什么意思? 现在已经避免了一个例外。 这些错误中的一部分将会与这个投诉一起被报告,然后进一步的违规将只是默默地做任何随机的事情结果从零。 下面是这次发生的回溯(由于编译器优化,可能会丢失一些帧): 我的代码 NSString *str_babyedays=aMileBusiness.str_DAte; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"dd-MM-yyyy"]; df.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"EN"]; NSDate *titemdate = [df dateFromString: str_babyedays]; NSDate *currentDate = [NSDate date]; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit; NSDateComponents *components = [gregorian components:unitFlags fromDate:titemdate toDate:currentDate options:0]; NSInteger […]

与stringWithFormat问题

请如何使我的stringWithFormat / initWithFormat显示am / pm而不是24小时,即使用户从pickerviewerselectam / pm? 当用户select时间; 例如4:15 pm,而不是显示4:15 pm作为确认,而是显示16:15。 下午4:15我要。 请帮忙!! -(IBAction)datePickerValueChanged:(id)sender { NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; [dateFormatter setDateFormat:@"h:mm:ss a"]; NSString *strDate = [dateFormatter stringFromDate:self.pick.date]; dateArray = [strDate componentsSeparatedByString:@":"]; NSDate *current = [NSDate date]; NSString *currentTime = [dateFormatter stringFromDate:current]; NSArray *currArray = [currentTime componentsSeparatedByString:@":"]; curr = [currArray[0] […]

为什么`在date不同的时间里,(date:.day,in:.era,for:date)给出相同的结果?

考虑下面的代码: import UIKit let date = Date() guard let nycTimeZone = TimeZone(abbreviation: "EST"), let nzTimeZone = TimeZone(abbreviation: "NZDT") else { fatalError() } var nycCalendar = Calendar(identifier: .gregorian) nycCalendar.timeZone = nycTimeZone var nzCalendar = Calendar(identifier: .gregorian) nzCalendar.timeZone = nzTimeZone let now = Date() let nycDayOfEra = nycCalendar.ordinality(of: .day, in: .era, for: now) let nycDayOfYear = nycCalendar.ordinality(of: […]

NSCalendar查找本月的周六和周日

我正在项目中,我想在我的应用程序中集成NSCalendarfunction。 因此,我GOOGLE了,我发现这个解决scheme。 它给了我一年中的所有月份,也可以select特定的date。 没关系。 但是我想每个星期六和星期天禁用每个月我试图做,但是当我点击上个月或下个月它改变select。 我经历了几乎所有的stackoverflow问题,但我没有find正确的方法来做到这一点。 我要求你所有有没有灵活的解决scheme,我可以禁用周末和任何特定的date。 stream程应该是这样的: 运行应用程序当前的月份是显示和所有星期天禁用。 当点击下个月或上个月时,相应的sat&sun应该按照当月的时间被禁用。 我想禁用的任何特定date的function。

NSDate与另一个NSDate在不同时区的当地时间相同

我有一个约会时间: Friday, July 8, 2016 at 6:30:00 PM India Standard Time 我想要一个这样的date时间: Friday, July 8, 2016 at 6:30:00 PM Central Daylight Time 我不想将使用NSDateFormatter的date从一个时区转换为另一个时区,因为此转换会给我 Friday, July 8, 2016 at 8:00:00 AM Central Daylight Time 我想要相同的date时间,但在不同的时区。 我怎样才能做到这一点?

在IOS SDK中获取几周的date

我想用当天的名字得到当前和下周的date。 即如果今天的date是28-06-2013(星期五),那么我想从本周23-06-2013(星期日)到29-06-2013(星期六) 。 下周我想要得到date从30-06-2013(星期日)到06-07-2013(星期六)。 我怎样才能做到这一点? 谢谢,

我怎样才能找出一个NSDate是否是一个工作日?

我怎样才能找出一个NSDate是否是一个工作日? 也就是说,根据用户当前的语言环境和日历设置是否是周末 – 所以不能硬编码为星期一至星期五? NSCalendar具有第一个firstWeekday属性,但这似乎只是一个表象的东西; 星期天在美国,周一在英国。 编辑:我不担心假期,我只是想能够像内置的日历应用程序相同的方式阴影的日历周末。

Objective-C / iOS:获取某一周的特定date(星期日)

我需要在当周得到某一天(星期天)的date。 我使用这个date来确定是否应该发生每周重置,并且我在最近的重置date前做了一些计算是在星期date之前等。这主要是问了很多次,而且我的解决scheme已经在过去6个月工作了。 但今天,2013年12月29日,它停止工作。 目前使用的function: + (NSDate *) getSundaysDate{ NSDate *currentDate = [NSDate date]; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; [gregorian setFirstWeekday:1]; NSDateComponents *components = [gregorian components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSWeekCalendarUnit) fromDate:currentDate]; NSDateComponents *dt = [[NSDateComponents alloc]init]; [dt setWeek:[components week]]; [dt setWeekday:1]; [dt setMonth:[components month]]; [dt setYear:[components year]]; return [gregorian dateFromComponents:dt]; } […]

苹果Swift:如何获得1/100或1/1000的当前秒数?

func updateTime() { var date = NSDate() var calendar = NSCalendar.currentCalendar() var components = calendar.components(.CalendarUnitSecond, fromDate: date) var hour = components.hour var minutes = components.minute var seconds = components.second counterLabel.text = "\(seconds)" var myIndicator = counterLabel.text?.toInt() if myIndicator! % 2 == 0 { // do this } else { // do that } } 我想知道如何改变这个代码,所以我得到1/10或1/100或1/1000秒显示counterlabel.text。 […]