我想使用RubyMotion代码生成当前日期编号。我查看了几个IOS解决方案,但我没有足够的经验将代码成功转换为RubyMotion。
我目前正处于以下地点:
def today
NSDate.today
end
def day_number
NSDate.from_components (day: today)
end
当我运行以上操作时,它会返回3852055-06-16 00:00:00 +0100。我认为3852055部分是秒,但它似乎不等于今天的日期或6月16日 - 无论如何,它为什么要返回06-16而不是02-08?这里完全糊涂了。
我只想获得今日的电话号码。我写的日期是2014年8月2日,日期应该是214,所以我显然可以在某处出去。
非常感谢任何帮助。
欢呼声
答案 0 :(得分:0)
这样可以解决问题:
daynum = NSCalendar.currentCalendar.ordinalityOfUnit(NSDayCalendarUnit, inUnit:NSYearCalendarUnit, forDate:NSDate.date)
现在假设你有一个字符串形式的日期,并且你想获得它的日期编号:
datestr = "2014-01-01 11:08:56 +0000"
首先创建NSDateFormatter
以将String
转换为NSDate
df = NSDateFormatter.new
df.dateFormat = "yyyy-MM-dd HH:mm:ss z"
mydate = df.dateFromString(datestr)
daynum = NSCalendar.currentCalendar.ordinalityOfUnit(NSDayCalendarUnit, inUnit:NSYearCalendarUnit, forDate:mydate)
如果您的日期字符串更简单:
datestr = "2014-01-01"
只使用更简单的dateFormat
字符串:
df.dateFormat = "yyyy-MM-dd"
答案 1 :(得分:0)
我建议你看一下motion-support
gem,尤其是core-exttime
。
您可以根据需要使用日期:
=> Mon, 04 Aug 2014
(main)> Time
=> Time
(main)> Time.today
=> 2014-08-04 00:00:00 +0200
(main)> Date.today.day
=> 4
(main)> Time.today.day
=> 4
还有更多。