首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪个回显的日期和时间格式正确,但没有将其正确地存储在数据库中

问哪个回显的日期和时间格式正确,但没有将其正确地存储在数据库中
EN

Stack Overflow用户
提问于 2016-03-02 15:56:54
回答 3查看 85关注 0票数 0

我有以下代码片段:

代码语言:javascript
复制
date_default_timezone_set('UTC');
if (!isset($_POST['secret']) && $post_msg != "" ) { // checkbox unchecked processing...
    // Checkbox is selected
    $date_of_msg= date('l jS F Y h:i');
    $msg_sent_by  = $username;
    $insert_query = "INSERT INTO user_thoughts VALUES ('','$post_msg','$date_of_msg','','' ,'$attach_name','$msg_sent_by','yes')";
    $run_query = mysqli_query($connect, $insert_query) or die(mysqli_error());
}

当我回显$date_of_msg时,日期和时间将按预期打印出来,但当运行上面的INSERT查询时,db中的字段将存储0000-00-00 00:00:00。

存储$date_of_msg的字段称为post_details,类型为datetime。我知道有一个名为date_to_str的函数,似乎有一些与它相关的问题,比如this one。但是这个问题的答案是手动转换输入的日期,而我想得到用户发布文章的时间。我认为解决方案是在插入date_to_str变量时使用$date_of_msg函数?但我不明白它是怎么工作的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-02 16:06:10

你的

代码语言:javascript
复制
date('l jS F Y h:i');

发送的结果如下:

2016年3月2日星期三上午10:00

因此,您得到的值0000-00-00 00:00:00是日期时间不匹配的值。

改为:

代码语言:javascript
复制
date('Y-m-d h:i:s');

或者使用此文档将日期格式化为需要的内容。http://php.net/manual/en/function.date.php

票数 1
EN

Stack Overflow用户

发布于 2016-03-02 16:08:40

这可能是因为您的web服务器(apache猜测)配置与mysql配置不同。

所以这就是为什么你会感到困惑。

有几种方法可以解决这个问题,但是它需要您选择一种格式并使用它运行。

  1. 当将记录插入mysql时,请告诉它要使用何种格式。 $query_manual =“插入日期操场(dp_name,dp_datetime)值('DATETIME:手动日期时间‘,’1776-7-4-04:13:54‘)”;
  2. 研究mysql和apache的日期时间配置,并修复这两个配置,使它们具有相同的日期时间格式。
票数 0
EN

Stack Overflow用户

发布于 2016-03-02 16:18:01

在mysql datetime字段中,只能插入格式Y:m:d H:i:s的日期时间。

请使用相同格式的日期时间。

代码语言:javascript
复制
$date_of_msg = date('Y:m:d H:i:s');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35752110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档