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


How to insert date and time in mysql and view them

我正在尝试制作一个双层博客。我想跟踪注册用户发布博客的日期和时间。稍后当博客将在前端发布时,在我的博客中查看时间为时间:下午 2:50/am,日期为 日期: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,类型:日期时间。这是对的吗?

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

嗨,这是更新的代码,工作正常。我的问题是我如何跳过通常包含标题( id、姓名、电子邮件、地址)的 .csv 文件的第一行。

<?php
include 'connection.php';
class Import {
    private $pdo;
    public function __construct() {     
        $obj_connection = new Db_connection();
        $this->pdo = $obj_connection->connection();     
    }
    public function import_csv() {
        $extension= end(explode(".", basename($_FILES['file']['name'])));
        if (isset($_FILES['file']) && $_FILES['file']['size'] < 10485760 && $extension=='csv') {
            $file = $_FILES['file']['tmp_name']; 
            $handle = fopen($file, "r"); 
            try {           
                while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {                   
                $importSQL = "INSERT INTO tbl_applicants ( application_no, applicant_name, applicant_email, applicant_mobile, applicant_address ) VALUES('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";
                $this->pdo->query($importSQL);  
                }
            }
            catch(PDOException $e) {
                echo $e->getMessage();
            }
        }
    }
}

如果您在 php 中使用默认DATETIME日期时间存储方法,并且想要显示所需的格式,例如 2:50 am/pm ,那么:

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

将时间转换为时间戳后,您可以使用PHP默认日期函数date($format, $timestamp)轻松地将此时间戳格式化为所需的格式。

欲了解更多信息,请访问以下链接:

PHP 日期函数

为此使用 TIME_FORMAT(time,format)DATE_FORMAT(date,format) 函数。一个例子是

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

我认为有一个简单的方法可以做到这一点。您可以使用SQL函数"CURDATE()"获取cussrent日期,并使用CURTIME()获取当前时间。然后只需插入到您的表中即可。喜欢这个。

$q ="选择 CURDATE()";$curdate = mysql_query($q);然后mysql_query("插入到表(column_name)值$curdate");对时间做同样的事情。这是一种非常基本的方法。希望你能找到帮助。