Php 转换SQL的日期格式
我知道这个问题已经被问了很多次了,但对我来说什么都不管用 我想从输入中提取日期并将其存储在我的数据库(MySQLi)中 这就是我试过的Php 转换SQL的日期格式,php,mysql,date,mysqli,Php,Mysql,Date,Mysqli,我知道这个问题已经被问了很多次了,但对我来说什么都不管用 我想从输入中提取日期并将其存储在我的数据库(MySQLi)中 这就是我试过的 $ses_s = $_POST['ses_date_s']; $ses_n_s = date("Y-m-d", strtotime($ses_s)); $q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)'; $stmt = mysqli_prepare($dbc, $q); mysqli_stmt_bind_par
$ses_s = $_POST['ses_date_s'];
$ses_n_s = date("Y-m-d", strtotime($ses_s));
$q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)';
$stmt = mysqli_prepare($dbc, $q);
mysqli_stmt_bind_param($stmt, 's', $ses_n_s);
mysqli_stmt_execute($stmt);
但这行不通
输入日期:2014年7月17日(echo$ses_)
转换日期:1970-01-01(Unix开始)(美元SEU n_s)
我做错了什么
另外,我如何反向提取日期,我希望日期显示为d/m/Y而不是Y/m/d(如DB)
提前感谢。
编辑:
我发现了这个问题(多亏了乔纳森),我用的是dd/mm/yyyy而不是mm/dd/yyy
因此,如果我可以更改我的问题,我如何将dd/mm/yyy转换为yyyy/mm/dd代码有两个问题 1) insert语句有问题,ses_日期后出现错误 2) 传入的日期/时间格式不正确
$q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)';
应该是
$q = 'INSERT INTO date_t (ses_date_s) VALUES (?)';
strotime认为,通过dd/mm/yyyyy(加拿大标准)的区域设置并没有得到广泛认可,它希望在大多数情况下是mm/dd/yyyy(美国标准)
我建议您不要依赖strotime来创建时间戳,而是以mysql首选格式传入数据,或者传入实际的时间戳本身
至于从数据库中实际获取日期,strotime可以很好地处理来自mysql的数据,因为它将被正确识别
$q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)';
因此,当你从数据库中提取数据时,你可以这样做
echo date('d/m/Y' strtotime($date));
代码有两个问题 1) insert语句有问题,ses_日期后出现错误 2) 传入的日期/时间格式不正确
$q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)';
应该是
$q = 'INSERT INTO date_t (ses_date_s) VALUES (?)';
strotime认为,通过dd/mm/yyyyy(加拿大标准)的区域设置并没有得到广泛认可,它希望在大多数情况下是mm/dd/yyyy(美国标准)
我建议您不要依赖strotime来创建时间戳,而是以mysql首选格式传入数据,或者传入实际的时间戳本身
至于从数据库中实际获取日期,strotime可以很好地处理来自mysql的数据,因为它将被正确识别
$q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)';
因此,当你从数据库中提取数据时,你可以这样做
echo date('d/m/Y' strtotime($date));
代码有两个问题 1) insert语句有问题,ses_日期后出现错误 2) 传入的日期/时间格式不正确
$q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)';
应该是
$q = 'INSERT INTO date_t (ses_date_s) VALUES (?)';
strotime认为,通过dd/mm/yyyyy(加拿大标准)的区域设置并没有得到广泛认可,它希望在大多数情况下是mm/dd/yyyy(美国标准)
我建议您不要依赖strotime来创建时间戳,而是以mysql首选格式传入数据,或者传入实际的时间戳本身
至于从数据库中实际获取日期,strotime可以很好地处理来自mysql的数据,因为它将被正确识别
$q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)';
因此,当你从数据库中提取数据时,你可以这样做
echo date('d/m/Y' strtotime($date));
代码有两个问题 1) insert语句有问题,ses_日期后出现错误 2) 传入的日期/时间格式不正确
$q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)';
应该是
$q = 'INSERT INTO date_t (ses_date_s) VALUES (?)';
strotime认为,通过dd/mm/yyyyy(加拿大标准)的区域设置并没有得到广泛认可,它希望在大多数情况下是mm/dd/yyyy(美国标准)
我建议您不要依赖strotime来创建时间戳,而是以mysql首选格式传入数据,或者传入实际的时间戳本身
至于从数据库中实际获取日期,strotime可以很好地处理来自mysql的数据,因为它将被正确识别
$q = 'INSERT INTO date_t (ses_date_s,) VALUES (?)';
因此,当你从数据库中提取数据时,你可以这样做
echo date('d/m/Y' strtotime($date));
$\u POST['ses\u date\s']是字符串,但date()需要整数(Unix时间戳)。您可以使用strotime()将前者转换为后者,尽管它只希望日期遵循美国的mm/dd/yy约定。对象具有更复杂的日期解析功能。$\u POST['ses\u date\s']是一个字符串,但date()需要一个整数(Unix时间戳)。您可以使用strotime()将前者转换为后者,尽管它只希望日期遵循美国的mm/dd/yy约定。对象具有更复杂的日期解析功能。$\u POST['ses\u date\s']是一个字符串,但date()需要一个整数(Unix时间戳)。您可以使用strotime()将前者转换为后者,尽管它只希望日期遵循美国的mm/dd/yy约定。对象具有更复杂的日期解析功能。$\u POST['ses\u date\s']是一个字符串,但date()需要一个整数(Unix时间戳)。您可以使用strotime()将前者转换为后者,尽管它只希望日期遵循美国的mm/dd/yy约定。该对象具有更复杂的日期解析功能。Maverick您可以分解发布日期,然后按照您需要的顺序排列数据:
$ses_s = $_POST['ses_date_s']; //'17/07/2014';
$sespieces = explode("/", $ses_s);
$ses_n_s = $sespieces[2]."-".$sespieces[1]."-".$sespieces[0]; //2014-07-17
Maverick您可以分解发布日期,然后按照您需要的顺序排列数据:
$ses_s = $_POST['ses_date_s']; //'17/07/2014';
$sespieces = explode("/", $ses_s);
$ses_n_s = $sespieces[2]."-".$sespieces[1]."-".$sespieces[0]; //2014-07-17
Maverick您可以分解发布日期,然后按照您需要的顺序排列数据:
$ses_s = $_POST['ses_date_s']; //'17/07/2014';
$sespieces = explode("/", $ses_s);
$ses_n_s = $sespieces[2]."-".$sespieces[1]."-".$sespieces[0]; //2014-07-17
Maverick您可以分解发布日期,然后按照您需要的顺序排列数据:
$ses_s = $_POST['ses_date_s']; //'17/07/2014';
$sespieces = explode("/", $ses_s);
$ses_n_s = $sespieces[2]."-".$sespieces[1]."-".$sespieces[0]; //2014-07-17
不要介意那里的(,)是偶然的,因为我有更多的值,但我删除了它们以获得清晰的代码。我发现问题,我输入的日期是dd/mm/yyyy而不是mm/dd/yyyy。。。因此,如果我可以更改我的问题,我如何将dd/mm/yyy转换为yyyy/mm/dd,请不要介意(,),因为我有更多的值,但我删除了它们以获得清晰的代码。我发现问题,我输入的日期是dd/mm/yyyy而不是mm/dd/yyyy。。。因此,如果我可以更改我的问题,我如何将dd/mm/yyy转换为yyyy/mm/dd,请不要介意(,),因为我有更多的值,但我删除了它们以获得清晰的代码。我发现问题,我输入的日期是dd/mm/yyyy而不是mm/dd/yyyy。。。因此,如果我可以更改我的问题,我如何将dd/mm/yyy转换为yyyy/mm/d