php 将字符串转换为日期时间“2012 年 12 月 21 日 - 03:45 下午”
php convert string to date time "21 December 2012 - 03:45 PM"
我正在使用 bootstrap 日期时间选择器来选择日期和时间。它给我输出
“2012 年 12 月 21 日 - 03:45 下午”现在我想将它存储在 MySQL 数据库中 我的问题是如何将此字符串存储到 MySQL 数据列(数据类型 = 日期时间)。
我在这里使用此代码,但它不起作用
$s = '21 December 2012 - 03:45 PM';
$date = strtotime($s);
echo date('d/M/Y:H:i:s', $date);
我想以日期时间格式将此字符串存储到 mysql 数据库。在 sql 查询 运行
上提取相同的字符串
谢谢
试试这个写入 mysql:
$mysqldate = date( 'Y-m-d H:i:s', $date )
MySQL 期望 DateTime 字段过去以这种格式存储
YYYY-MM-DD HH:MM:SS
所以把这条语句改成
echo date('Y-m-d H:i:s', $date);
当然,您必须在 SQL 语句中用引号括起该字符串,如下所示
$s = '21 December 2012 - 03:45 PM';
$a_date = date('Y-m-d H:i:s', strtotime($s));
$sql = "INSERT INTO table (the_date) VALUES ('$a_date')";
您最好使用纪元值而不是人类可读的日期字符串。使用 UTC 纪元值做所有事情,并仅在必须向用户显示日期时(添加区域设置等)转换为人类可读的字符串。
如果您从该日期选择器输入的字符串格式是这样的:
21 December 2012 - 03:45 PM
您需要先转换适用于您的 DATETIME
字段的格式,即:
YYYY-MM-DD HH:MM:SS
The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format.
参考:http://dev.mysql.com/doc/refman/5.1/en/datetime.html
从 PHP 开始,您可以使用 DateTime
class。提供您在日期选择器中的格式:
$s = '21 December 2012 - 03:45 PM'; // input from date picker
$date = DateTime::createFromFormat('d F Y - G:i a', $s);
$insert_date = $date->format('Y-m-d H:i:s');
echo $insert_date;
// rest of your mysql insertion codes
当你strtotime($s);
所以在你看来你可以<?php echo date('Y-m-d H:i:s',$row['date']) ?>
我正在使用 bootstrap 日期时间选择器来选择日期和时间。它给我输出 “2012 年 12 月 21 日 - 03:45 下午”现在我想将它存储在 MySQL 数据库中 我的问题是如何将此字符串存储到 MySQL 数据列(数据类型 = 日期时间)。
我在这里使用此代码,但它不起作用
$s = '21 December 2012 - 03:45 PM';
$date = strtotime($s);
echo date('d/M/Y:H:i:s', $date);
我想以日期时间格式将此字符串存储到 mysql 数据库。在 sql 查询 运行
上提取相同的字符串谢谢
试试这个写入 mysql:
$mysqldate = date( 'Y-m-d H:i:s', $date )
MySQL 期望 DateTime 字段过去以这种格式存储
YYYY-MM-DD HH:MM:SS
所以把这条语句改成
echo date('Y-m-d H:i:s', $date);
当然,您必须在 SQL 语句中用引号括起该字符串,如下所示
$s = '21 December 2012 - 03:45 PM';
$a_date = date('Y-m-d H:i:s', strtotime($s));
$sql = "INSERT INTO table (the_date) VALUES ('$a_date')";
您最好使用纪元值而不是人类可读的日期字符串。使用 UTC 纪元值做所有事情,并仅在必须向用户显示日期时(添加区域设置等)转换为人类可读的字符串。
如果您从该日期选择器输入的字符串格式是这样的:
21 December 2012 - 03:45 PM
您需要先转换适用于您的 DATETIME
字段的格式,即:
YYYY-MM-DD HH:MM:SS
The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format.
参考:http://dev.mysql.com/doc/refman/5.1/en/datetime.html
从 PHP 开始,您可以使用 DateTime
class。提供您在日期选择器中的格式:
$s = '21 December 2012 - 03:45 PM'; // input from date picker
$date = DateTime::createFromFormat('d F Y - G:i a', $s);
$insert_date = $date->format('Y-m-d H:i:s');
echo $insert_date;
// rest of your mysql insertion codes
当你strtotime($s);
所以在你看来你可以<?php echo date('Y-m-d H:i:s',$row['date']) ?>