哪一个是正确的?

时间:2013-05-28 05:28:55

标签: ruby

以下格式中,不仅是语法正确,还是作为练习?

 DateTime.strptime((date[:month]+date[:year]),'%B %Y')

 DateTime.strptime((date[:month]+' '+date[:year]),'%B %Y')

 DateTime.strptime((date[:month]+date[:year]),'%B%Y')

2 个答案:

答案 0 :(得分:2)

参考strptime

They both are correct as long as you giving correct values 
of 'date[:month]' & 'date[:year]'

1.9.3p327 :015 > DateTime.strptime("Mar 2010",'%B %Y')
 => Mon, 01 Mar 2010 00:00:00 +0000 
1.9.3p327 :016 > DateTime.strptime("Mar2010",'%B %Y')
 => Mon, 01 Mar 2010 00:00:00 +0000 

答案 1 :(得分:0)

从语法上讲,DateTime.strptime((date[:month]+' '+date[:year]),'%B %Y')DateTime.strptime((date[:month]+date[:year]),'%B%Y')都是正确的。

作为一种练习,第二个更好,因为添加' '然后解析它没有意义。无论如何,两者都会给出相同的输出。