回答
通过在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