我試圖從MySQL數據庫返回時間格式字段的列表,並使用Cake \ I18n \ Time類來操縱它們。目前,當從數據庫中獲取數據時,當前日期用於這些字段。我想爲他們設定我自己的日期(因爲數據可能會有多個日期),但我似乎無法找到一個優雅的解決方案。使用Cake I18n Time與MySQL時間字段
到目前爲止,在測試過程中我的解決方案是使用Time::setTestNow($now)
,然後在我的實體創建一個函數,正確設定日期,像這樣設置日期:
$newTime = new Time();
$newTime->hour($savedTime->format("H"))
->minute($savedTime->format("i"))
->second($savedTime->format("s"));
顯然,這似乎是一個相當繁瑣的方法爲這些字段設置日期。我的應用程序中還有其他功能需要比較日期和時間(日期可以從另一個表中獲取),所以Time::setTestNow()
似乎是錯誤的方式來正確設置正確的日期,並將日期,月份和年份設置爲每個新的時間似乎也是一個繁瑣的解決方案。
是否有其他方法可用於設置從數據庫中提取時間的日期?我寧願在我的模型中有正確的時間,而不是每次我想使用它時都要轉換它)。
謝謝。
我不明白我們的問題?你有存儲在數據庫中的日期,他們不是你想要的,你想在迴應它們時操縱它們嗎?爲什麼不把正確的日期存儲在第一位?數據庫中日期的格式和字段類型是什麼? – burzum
嗨,我有時間作爲時間字段存儲在數據庫中,日期作爲日期字段存儲在另一個表中。我需要能夠在時間上設置正確的日期,以便我可以對它們進行比較。 –
這聽起來像是一個有缺陷的設計方法。 – burzum