Php 如何将VARCHAR转换为日期格式?
有一个日期格式为Php 如何将VARCHAR转换为日期格式?,php,mysql,function,datetime,time,Php,Mysql,Function,Datetime,Time,有一个日期格式为varchar和0000-00-00 00:00:00的表列 现在我想将日期显示为字符串。现在有日期甚至时间。我不知道如何解决这个问题 我已尝试使用strotime()进行转换: 显示错误日期的内容01.01.70 提前谢谢 更新: …下面是如何将其存储在数据库中: $timezone = 'Europe/Berlin'; date_default_timezone_set($timezone); $timestamp = time(); $db_date = date("d.m
varchar
和0000-00-00 00:00:00
的表列
现在我想将日期显示为字符串。现在有日期甚至时间。我不知道如何解决这个问题
我已尝试使用strotime()
进行转换:
显示错误日期的内容01.01.70
提前谢谢
更新:
…下面是如何将其存储在数据库中:
$timezone = 'Europe/Berlin';
date_default_timezone_set($timezone);
$timestamp = time();
$db_date = date("d.m.Y - H:i:ss", $timestamp);
当您将日期保存到数据库时,您将其保存为“varchar”,因此它是一个字符串。在将代码插入数据库之前,您的格式很可能是这样创建的:
$date_format = date('Y-m-d H-i-s', $time);
这会将日期转换为“0000-00-00:00:00”格式。在您的格式中,我不知道“月”和“天”,所以您可以在上面的date()参数中切换“m-d”对
然后你从数据库中提取数据,事实上你有正确的代码。您以“0000-00-00 00:00:00”格式提取数据,然后将其转换为Unix时间(strotime),然后使用date()函数对其进行格式化。您只需要记住Unix时间是从1970年1月1日开始的。这就是为什么在将零应用为日期字符串时,代码会显示“01.01.70”
所有这些的一个简短结论是:如果您的数据库中存储了任何实际日期(不全是零),那么一切都应该很好
老实说,有所有关于日期格式的清晰细节,你可以很容易地抓住这个想法
当然,我可能弄错了,你有更多的细节,我只是还不能在这里发表评论,一个新手。除了0.0.00之外,你还有其他的吗?(好吧,unix时代的开始是在1970年1月1日。)或者您是否删除了字符串的另一种格式?您的预期输出是什么?@subhanker dd.mm.year
$date_format = date('Y-m-d H-i-s', $time);