Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中mysql的自定义日期格式_Php_Mysql_Date - Fatal编程技术网

php中mysql的自定义日期格式

php中mysql的自定义日期格式,php,mysql,date,Php,Mysql,Date,从一个自定义实用程序类中,我得到了如下格式的日期变量格式:d-m-Y。我的计划是使用Date('Y-m-d',strotime($myCustomDate)),但我不确定PHP每次都会返回正确的日期。我如何确保我的方法是安全的 当我需要2013年3月2日时,我怎么知道2013年3月2日不会被转换为2013年2月3日的mysql等价物 如何处理这个问题?最安全的方法(除了使用时间戳,这是一个完全不同的故事)是使用YYYY-MM-DD格式,因为不可能有相反的格式(即YYYY-DD-MM没有定义),M

从一个自定义实用程序类中,我得到了如下格式的日期变量格式:
d-m-Y
。我的计划是使用
Date('Y-m-d',strotime($myCustomDate))
,但我不确定PHP每次都会返回正确的日期。我如何确保我的方法是安全的

当我需要2013年3月2日时,我怎么知道2013年3月2日不会被转换为2013年2月3日的mysql等价物

如何处理这个问题?

最安全的方法(除了使用时间戳,这是一个完全不同的故事)是使用
YYYY-MM-DD
格式,因为不可能有相反的格式(即
YYYY-DD-MM
没有定义),MySQL对此很理解


然后,您可以使用PHP将其转换为任何其他所需的格式。

如果格式始终为d-m-Y,则可以使用preg_split函数将日期分解为其组成部分,然后使用date重新格式化

<?PHP 
  $date = "3-13-2013";
  $date_parts = preg_split("/-/",$date);
  $newDate = Date("Y-m-d",mktime(0, 0, 0, $date_parts[0], $date_parts[1], $date_parts[2]));
?>


这将导致$newDate的值为2013-03-13。

且YYYY-MM-DD为偶数sortable@hexbot:难道不是mysql的php等价物吗?我的问题是php转换是安全的,一旦你从MySQL转换到时间戳。所有PHP函数都使用时间戳作为其源代码,您不必担心格式问题。我需要将它发送到mysql,而不是从mysql获取它。关键在于,这将基本上转换您的日期。请参见可用的格式,这些格式不冲突。