我需要在rubymotion中获取当前日历月的结束作为时间对象。

因此,对于2012年10月,鉴于当前时间,无论当前日期如何,我都需要2012年10月31日午夜作为Time的实例。

我该怎么做呢?

编辑

我感谢您的回答,但是我忽略了一件事-抱歉-我正在使用RubyMotion,并且Date和DateTime对象不可用。

基本上,您在ruby中用require加载的任何内容,我都无法访问。

最佳答案

由于您使用的是RubyMotion,因此可以访问所有iOS SDK:

NSDate *curDate = [NSDate date];
    NSCalendar* calendar = [NSCalendar currentCalendar];
    NSDateComponents* comps = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSWeekCalendarUnit|NSWeekdayCalendarUnit fromDate:curDate]; // Get necessary date components

    comps = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSWeekCalendarUnit|NSWeekdayCalendarUnit fromDate:curDate]; // Get necessary date components
    // set last of month
    [comps setMonth:[comps month]+1];
    [comps setDay:0];
    NSDate *tDateMonth = [calendar dateFromComponents:comps];
    NSLog(@"%@", tDateMonth);

发现于Getting the last day of a month

翻译成RubyMotion:
    curDate = NSDate.date
    calendar = NSCalendar.currentCalendar

    # Get necessary date components
    comps = calendar.components(NSYearCalendarUnit|NSMonthCalendarUnit|NSWeekCalendarUnit|NSWeekdayCalendarUnit, fromDate:curDate)

    # set last of month
    comps.month += 1
    comps.day = 0
    tDateMonth = calendar.dateFromComponents(comps)
    NSLog("%@", tDateMonth)

关于ios - 在RubyMotion中获取当月底的时间对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12828977/

10-12 01:23