所以我从AIX的errpt解析这个字符串 - 将它转换为epoch - 它似乎不尊重字符串的Hour和Minute部分。
所以字符串是:1108095913(MMDDHHMMYY)..但是当我将我的strptime转换为日期对象,然后按照我想要的格式化它时,它完全将我的小时和分钟归零。
我错过了什么吗?
irb(main):039:0> Date.strptime("1108095913", "%m%d%H%M%y").strftime('%m/%d/%y %H:%M')
=> "11/08/13 00:00"
答案 0 :(得分:2)
您应该使用Time.strptime而不是Date方法,Date会删除小时和分钟
1.9.3-p429 :005 > Time.strptime("1108095913", "%m%d%H%M%y").strftime('%m/%d/%y %H:%M')
=> "11/08/13 09:59"
答案 1 :(得分:1)
使用DateTime
代替Date
:
irb(main):002:0> require 'date'
=> true
irb(main):003:0> DateTime.strptime("1108095913", "%m%d%H%M%y").strftime('%m/%d/%y %H:%M')
=> "11/08/13 09:59"
原因是DateTime
处理日期和时间,Date
只处理日期。
希望这有帮助!