0

谁能帮我如何将字符串转换为日期

我有 3 个下拉菜单(年、月、日),我得到的日期值为 2012 年 1 月 12 日。

我怎样才能像 2012-01-12(yyyy-mm-dd) 那样转换它。

$dob = $year.'-'.$month.'-'.$day;

我在查询本身中使用了 str_to_date('$dob','%Y-%M-%e') 但它停止执行查询。

这是查询

      $sql = "insert into issio_asc_workers (lname_fname_dob, asc_id, asc_lastname, asc_firstname, asc_middlename, asc_dob, asc_phone_mobile, asc_phone_work, asc_ssn,
              asc_email, asc_phone_preferred, asc_status, asc_emp_yesno, asc_emp_status, asc_user_type, asc_npi, asc_credentials, asc_committee, asc_speciality, 
              asc_group, asc_startdate)values ('$lfd', '$ascid', '$lname', '$fname', '$mname', 
             'str_to_date('$dob','%Y-%M-%e')', '$phCell', '$phOffice', '$ssn', '$email', '$preffered', '$asc_status', '$empType', '$asc_emp_status', '$asc_user_type', '$npi', 
             '$credential', '$commitee ', '$speciality', '$group', 'str_to_date('$sdate','%Y-%M-%e')')";

Thnaks 提前....,

4

2 回答 2

2
$date = DateTime::createFromFormat('Y-m-d\TH:i:s', '2010-06-03T14:29:00');

试试这个...用您从表单中收到的信息填写日期,然后将变量放入 MySQL 插入查询中

于 2012-04-11T01:23:02.883 回答
1

在将变量插入 sql 查询之前对它们进行编组是一个好主意。这对程序运行来说并不困难,但会让你作为程序员的生活更轻松:

$dob_asDate = str_to_date('$dob','%Y-%M-%e');

$sql = "insert into issio_asc_workers (lname_fname_dob, asc_id, asc_lastname, asc_firstname, asc_middlename, asc_dob, asc_phone_mobile, asc_phone_work, asc_ssn,
              asc_email, asc_phone_preferred, asc_status, asc_emp_yesno, asc_emp_status, asc_user_type, asc_npi, asc_credentials, asc_committee, asc_speciality, 
              asc_group, asc_startdate)values ('$lfd', '$ascid', '$lname', '$fname', '$mname', 
             '$dob_asDate', '$phCell', '$phOffice', '$ssn', '$email', '$preffered', '$asc_status', '$empType', '$asc_emp_status', '$asc_user_type', '$npi', 
             '$credential', '$commitee ', '$speciality', '$group', 'str_to_date('$sdate','%Y-%M-%e')')";

通过这种方式,您可以回显$dob_asDate并确保它是您想要的。

于 2012-04-11T01:21:59.357 回答