Php 如何在mysql中插入日期和时间并查看它们

Php 如何在mysql中插入日期和时间并查看它们,php,mysql,Php,Mysql,我正在尝试创建一个双层博客。我想记录注册用户发布博客的日期和时间。稍后,当博客将在前端视图中发布时,我的博客中的时间为:下午2:50/上午,日期为:2016年8月7日。 这里是插入代码 public function save_blog($data, $files) { $category_id = $data['category_id']; $blog_title = $data['blog_title']; $blog_short_description = $d

我正在尝试创建一个双层博客。我想记录注册用户发布博客的日期和时间。稍后,当博客将在前端视图中发布时,我的博客中的时间为:下午2:50/上午,日期为:2016年8月7日。 这里是插入代码

 public function save_blog($data, $files) {

    $category_id = $data['category_id'];
    $blog_title = $data['blog_title'];
    $blog_short_description = $data['blog_short_description'];
    $publication_status = $data['publication_status'];
    $blog_long_description = $data['blog_long_description'];

    $path=  '../asset/admin/blog_image/';
    $target_image = $path.$files['blog_image']['name'];
    $file_type = pathinfo($target_image, PATHINFO_EXTENSION);
    $file_size = $files['blog_image']['size'];
    $check = getimagesize($files['blog_image']['tmp_name']);
    if ($check) {
        if (file_exists($target_image)) {
            echo 'Sorry File already exists.';
            exit();
        } else {
            if ($file_size > 1000000) {
                echo 'Sorry uour file Size is too large.';
                exit();
            } else {
                if ($file_type != 'jpg' && $file_type != 'png') {
                    echo 'Sorry your file type is not valid.';
                    exit();
                } else {
                    move_uploaded_file($files['blog_image']['tmp_name'], $target_image);
                    $date=date("M  j, Y, g:i a");
                    try {
                        $query = "INSERT INTO tbl_blog(category_id, blog_title, blog_short_description, blog_long_description, blog_image, publication_status, post_time) VALUES(:category_id, :blog_title, :blog_short_description, :blog_long_description, :blog_image, :publication_status, :date)";
                        $stmt = $this->pdo->prepare($query);
                        $stmt->bindParam(':category_id', $category_id, PDO::PARAM_STR);
                        $stmt->bindParam(':blog_title', $blog_title, PDO::PARAM_STR);
                        $stmt->bindParam(':blog_short_description', $blog_short_description, PDO::PARAM_STR);
                        $stmt->bindParam(':blog_long_description', $blog_long_description, PDO::PARAM_STR);
                        $stmt->bindParam(':blog_image', $target_image, PDO::PARAM_STR);
                        $stmt->bindParam(':publication_status', $publication_status, PDO::PARAM_INT);
                        $stmt->bindParam(':date', $date);
                        $stmt->execute();
                        $message = "Save Blog information successfully";
                        return $message;
                    } catch (PDOException $e) {
                        echo $e->getMessage();
                    }
                }
            }
        }
    }
    else {
    echo 'Sorry ! this is not an image !';
    exit();
    }
}
在mysql中,我将列名设为:post_time,键入:DATETIME。这是正确的吗

如何将时间视为我想要的格式时间:下午2:50/上午,日期视为日期:2016年8月7日

您好,这是更新后的代码,运行良好。我的问题是如何跳过.csv文件的第一行,该文件通常包含标题(id、名称、电子邮件、地址)

为此目的使用和发挥作用。例如

SELECT DATE_FORMAT(post_time, '%b %e %Y %r') AS Newdate
FROM tbl_blog;

如果您正在使用php中的
DATETIME
默认日期时间存储方法,并且希望将其显示为所需格式,如
2:50 am/pm
,则:

=>要显示的位置,首先使用php的默认函数将此时间转换为时间戳,即
strotime($time)

一旦时间被转换为时间戳,您就可以使用php默认日期函数
date($format,$timestamp)
轻松地将时间戳格式化为所需格式

有关更多信息,请访问以下链接:


我认为有一种简单的方法可以做到这一点。您可以使用SQL函数“CURDATE()”获取当前日期,使用CURTIME()获取当前时间。然后简单地插入到您的表中。 像这样

$q=“选择CURDATE()”; $curdate=mysql\u查询($q); 然后 mysql_查询(“插入表(列名称)值$curdate”); 在时间上做同样的事情。
这是一个非常基本的方法。希望你能找到帮助。

你是这么说的吗?此代码显示1970年1月1日$时间=标准时间($blog_info['post_time']);回音日期(“MJ,Y”,美元时间);你能告诉我你是怎么储存时间的吗?表示存储在数据库中的值?$date=date(“M j,Y,g:i a”)$query=“插入tbl_博客(发布时间)值($date)”;在数据库中,我创建了一个列名:post_time,type:DATETIME,定义如下:current timestamper如果您使用的是mysql
DATETIME
字段类型,那么您必须以特定格式存储自定义日期,否则它将返回1970年1月1日。要解决此问题,请将字段类型更改为
VARCHAR
。谢谢,现在可以使用了。它向我显示UTC时间,我如何使这个GMT+6?
SELECT DATE_FORMAT(post_time, '%b %e %Y %r') AS Newdate
FROM tbl_blog;