有一个表格列,其日期格式为varchar
和0000-00-00 00:00:00
。
现在我想将日期显示为字符串。目前有日期,甚至是时间。我不知道如何解决这个问题。
我已尝试使用strtotime()
进行转换:
$doa = $data['date']
...
$time = strtotime( $doa );
$date_format = date( 'd.m.y', $time );
显示错误日期的内容01.01.70
。
提前致谢。
更新:
...以下是它将如何存储在db:
中$timezone = 'Europe/Berlin';
date_default_timezone_set($timezone);
$timestamp = time();
$db_date = date("d.m.Y - H:i:ss", $timestamp);
答案 0 :(得分:0)
当您将日期保存到数据库时,您将其保存为“varchar”,因此它是一个字符串。很可能在将代码插入数据库之前,您的格式是这样创建的:
$date_format = date('Y-m-d H-i-s', $time);
这会将日期转换为您的“0000-00-00 00:00:00”格式。我不知道你的格式有“月”和“天”,所以你可以在上面的date()参数中切换“m-d”对。
然后你从数据库中提取数据,实际上你有正确的代码。您以“0000-00-00 00:00:00”格式提取数据,然后将其转换为Unix时间(strtotime),然后使用date()函数对其进行格式化。你只需要记住Unix时间从1970年1月1日开始。这就是为什么你在将零作为日期字符串应用时从代码中得到“01.01.70”。
对所有这些的简短结论:如果您的数据库中存储了任何实际日期(并非全部为零),那么一切都应该非常好。
老实说,PHP Date documentation有关于日期格式的所有明确细节,您可以轻松抓住这个想法。
当然我可能会弄错,你有更多的细节,我还不能发表评论,这里是新手。