所以在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