有一個DateTime
-object。我想將其設置爲今天並保持時間。是否有簡短的方法將DateTime修改爲「今天」,但保留以前存儲的時間?
例如:
- 將它設置爲二零一二年十月十二日10:30:00
- 應該成爲2012年11月22日10:30:00
這當然不是工作:
// this obviously changes it to 2012-11-22 00:00:00
$date->modify('today'));
這將工作,但似乎有點費力:
$clone = clone $date();
$date->modify('today')->setTime($clone->format('H'), $clone->format('i'));
有沒有更短/更有效的方法?
請記住,這取決於你的時區,有時會是合法的第一天,而不是其他。例如,如果您在夏令時在美國的時區,則在夏時制前進的那一天,不會有凌晨2點01分,時鐘會直接跳到凌晨3點。在這種情況下徹底測試您的應用程序的工作方式,以確保您每年一次都不會遇到任何問題,而這一切都會神奇地消失。或者將您的時區設置爲UTC並忽略所有這些類型的問題。 :) – whamma