所以在PHP中我有一些代码,提取日,月,年为整数,这样的事情:PHP和Ruby:解析日期
// Grab the Date
$date = date("mdy");
$day = (int) substr($date, 2, 2);
$month = (int) substr($date, 0, 2);
$yr = (int) substr($date, 4);
我想要做的红宝石一样。我以为我找到了
# Grab the Date
now = Date.new(Time.now).to_date
date = Date.parse(now)
day = date.mday
month = date.mon
yr = date.year
我试过这个主题,每次失败,呼吁星期二8月14日01:16
私有方法`TO_DATE的时间变化的答案:00 -0600 2012:时间(NoMethodError)
我确定答案是在网络上的某个地方,但我没有向Google提出正确的问题,因为我没有找到它。我只在Ruby中编写了几个月的代码,我认为这很简单。那么我错过了什么?
感谢
这正是我在当前应用程序中寻找的内容。我还没有测试@ Catnapper的建议,但我也喜欢它。我一直忘记你可以在Ruby中扩展类。至于PHP的部分去...我想我的代码是尽可能瘦 - 一个单一的8字符串的日期和substr提取。我认为PHP有类似你使用的类。但是,我认为你在做什么会占用更多的内存和CPU时间。差别可能可以忽略不计,但我倾向于运行数百个并发任务,所以我尽量将事情保持在我知道如何处理的地方。 – 2012-08-15 15:12:01
是的,很酷,你可以在Ruby中动态修改类。我可能会在PHP中做一点不同于你的第一个地方(不确定上下文是什么)。但我认为我所建议的是一种更清晰的方式,以最终达成你想要的变革。不知道CPU(我可以看到它会以任何方式)。可能会消耗更多的内存,尽管您可以在提取值之后清除对象:'unset($ date)'。我可以想象,在许多情况下,这两种方法的差别都可以忽略不计,远远超过了更优雅的代码,但我不知道你的具体情况。 – JMM 2012-08-15 21:48:53
我认为在这种情况下资源问题可以忽略不计。这更多的是习惯问题。也就是说,我通常会尝试编写健壮且易于阅读的代码。在大多数情况下,我不会使用没有相关注释的substr命令,比如“从中提取诸如此类”。在这种情况下,变量名称表现得相当好。而且,我猜测,即使可以衡量,资源使用的差异也是最小的。那么我们只是在编码风格上偏好。 - 谢谢 – 2012-08-16 07:00:54