回答
通過在SQL查詢中使用DATE_FORMAT函數,以所需格式提取日期。
我不知道爲什麼要使用使preg_split,只是做:
date("d/m/Y | G:i:s", strtotime($timestamp));
或用UNIX_TIMESTAMP()
獲取從MySQL的Unix時間戳,然後做:
date("d/m/Y | G:i:s", $unix_timestamp);
浪費 - 更容易在MySQL中進行轉換並通過strtotime或unix_timestamp轉換保存php端往返 – 2011-03-30 16:23:26
我認爲這兩種方法都是有效的方法,具體取決於您的設計模式。例如,如果數據庫交互代碼和格式代碼是分開的,那麼在PHP中進行格式化是完全有效的。 – 2011-03-30 16:40:27
date('d/m/Y | G:i:s', strtotime($theOriginalTime))
那應該做你需要的。
浪費 - 更容易在MySQL中進行轉換並保存strtotime()解析的開銷。 – 2011-03-30 16:24:13
哦,這個古老的辯論又一次開始了。我不喜歡將業務邏輯放入數據庫。這是個人偏好。 – 2011-03-30 16:30:26
夠正確。取決於OP需要的東西的效率。拉出kajillion日期會建議在數據庫中進行日期格式設置。每小時做一次這會讓PHP開銷更容易消化。 – 2011-03-30 16:31:54
這很容易用正則表達式解決。這裏是一個測試PHP函數重新格式化在一個給定的文本串中的任何和所有這樣的日期:
function convert_dates($text) {
// Convert 2011-03-30 17:47:31 to 30/03/2011 | 17:47:31
$re = '/# Match components of a YYYY-MM-DD HH:MM:SS date.
\b # Begin on word boundary
(\d{4})- # $1: Year.
(\d{2})- # $2: Month.
(\d{2})[ ] # $3: Day.
(\d{2}): # $4: Hour.
(\d{2}): # $5: Minute.
(\d{2}) # $6: Second.
\b # End on word boundary.
/Sx';
$replace = '$3/$2/$1 | $4:$5:$6';
return preg_replace($re, $replace, $text);
}
你正規的癮君子,你。 – 2011-03-31 08:42:31
- 1. 如何使用StringBuilder格式化日期
- 2. 如何使用格式化爲日期
- 3. 如何使用php格式化日期?
- 4. 如何使用xlst格式化日期?
- 5. 如何使用NSDateFormatter格式化日期
- 6. 如何格式化日期?
- 7. 如何格式化日期?
- 8. 如何格式化日期
- 9. 格式化日期。如何將int值格式化爲日期格式?
- 10. 使用jQuery日曆格式化日期
- 11. 如何用Dart格式化日期?
- 12. 格式化日期?
- 13. 日期格式化
- 14. 用Java格式化日期
- 15. 如何使用primeng日曆格式化日期?
- 16. 用Perl格式化日期格式
- 17. 格式化日曆日期
- 18. 如何使用Lambda表達式來格式化日期
- 19. 使用c#進行日期格式化#
- 20. 使用javascript格式化JSON日期
- 21. MYSQL日期格式化使用組concat
- 22. 使用PHP格式化facebook日期
- 23. 使用Timex格式化日期時間
- 24. 使用javascript格式化.Net日期
- 25. 使用Moment.js標準化日期格式
- 26. 格式化日期使用PHP strtotime
- 27. 使用stringstream格式化日期
- 28. 使用XML格式化日期
- 29. 使用日期格式化程序
- 30. 使用RelativeDateFormatting進行日期格式化
'DATE_FORMAT(的DateField,「%d /%米/%Y |%H:%I:%s的')'確切地說。 – 2011-03-30 16:22:15