【问题标题】:CodeIgniter/JQuery/MySQL DateTimeCodeIgniter/JQuery/MySQL 日期时间
【发布时间】:2011-06-14 15:03:40
【问题描述】:
在我的 CodeIgniter 应用程序中,我使用了一个 Jquery 日历弹出窗口,它还捕获用户设置的时间,所以最终结果看起来像:MM-DD-YYYY HH:MM,我正在存储这个在 MySQL 中放入一个 DateTime 字段,即:YYYY-MM-DD HH:MM:SS。将日期/时间推送到 MySQL 以便正确保存并从 MySQL 中拉出并以相反格式呈现在屏幕上的最佳(最有效)方法是什么?谢谢!
【问题讨论】:
标签:
php
javascript
jquery
mysql
datetime
【解决方案2】:
我认为您应该使用strptime() 函数来解析从您使用和使用mktime() 的jQuery 日历收到的日期:
// Parse the time based on your jQuery calendar's format
$parts = strptime($calendar_value, '%m-%d-%Y %H:%M');
if ( ! empty($parts) )
{
// Create a Unix timestamp
$timestamp = mktime($parts['tm_hour'], $parts['tm_min'], 0, $parts['tm_mon'] + 1, $parts['tm_mday'], $parts['tm_year'] + 1900);
// Create a string representation of the Unix timestamp
$date = date(DATE_ISO8601, $timestamp);
}
您需要使用$date 来插入您的数据库。有一个名为“strtotime”的函数将尝试解析人类可读格式的日期,但我怀疑它是否能够确定月份或日期是否先出现,特别是如果它们都低于 12,这就是我选择的原因改为使用“strptime”。
当您从 MySQL 中提取数据时,您可以简单地使用 date() 和 strtotime() 函数来填充日历:
echo date('m-d-Y h:i', strtotime($mysql_date));