在 Codeigniter 3.0.6 中插入当前日期时间

Posted

技术标签:

【中文标题】在 Codeigniter 3.0.6 中插入当前日期时间【英文标题】:Insert Current DateTime in Codeigniter 3.0.6 【发布时间】:2016-03-28 15:13:57 【问题描述】:

我正在尝试使用 codeigniter 3.0.6 和使用来存储用户注册日期和时间

NOW()

作为

 $this->db->set('user_nicename', $nameVar);
   $this->db->set('user_login', $emailVar);
   $this->db->set('user_pass', $passwordVar);
   $this->db->set('user_registered', 'NOW()');
   $this->db->insert('doc_users');

但它没有在数据库中存储日期时间

see database image

【问题讨论】:

试试这个***.com/questions/6354315/… 【参考方案1】:

像这样使用date()

date('Y-m-d H:i:s'); # output 2015-12-22 16:41:25

最终代码是

date_default_timezone_set('Asia/Karachi'); # add your city to set local time zone
$now = date('Y-m-d H:i:s');

$this->db->set('user_nicename', $nameVar);
$this->db->set('user_login', $emailVar);
$this->db->set('user_pass', $passwordVar);
$this->db->set('user_registered', $now);
$this->db->insert('doc_users');

【讨论】:

使用date_default_timezone_set 返回 0000-00-00 00:00:00 将您的数据库字段设置为DATETIME 我需要全球时间,而不仅仅是一个国家 UTC时间还是您的当地时间?/【参考方案2】:

这在 Codeigniter 3.0.6 中适用于我

$this->db->set('user_registered', 'NOW()', FALSE);

【讨论】:

【参考方案3】:

试试这个

首次加载日期助手

要遵循 ci 结构,你必须使用 mdate() 函数,否则你也可以使用 date 函数

$this->db->set('user_nicename', $nameVar);
$this->db->set('user_login', $emailVar);
$this->db->set('user_pass', $passwordVar);
$this->db->set('user_registered', mdate("%Y-%m-%d %H:%i:%s"));
$this->db->insert('doc_users');

【讨论】:

【参考方案4】:

我建议使用加载日期助手。

mdate('%Y-%m-%d %H:%i:%s', now());

无需使用多个集合,只需将其放入数组即可。

$data = array(
   'user_nicename' => $nameVar,
   'user_login' => $emailVar,
   'user_pass' => $passwordVar,
   'user_registered' => mdate('%Y-%m-%d %H:%i:%s', now())
);

$this->db->set($data);
$this->db->insert('doc_users');

还要确保您的 user_registered 数据库类型是 DATETIME

设置您当前的 date_time_zone

转到config.php并在下面添加代码

示例:date_default_timezone_set('Pacific/Auckland');

对于您的时区,您可以在这里找到列表http://php.net/manual/en/timezones.php

【讨论】:

【参考方案5】:
$data = [
    'type'=>$this->input->post('txttype')
    //for getting input value of form
];

$this->db->set('column_name', 'NOW()', FALSE);

$this->db->insert('table_name', $data);

【讨论】:

【参考方案6】:

您还可以进行数据库查询以获取当前数据库日期/时间:

$this->db->select('NOW() as db_date')->get()->row()->db_date

【讨论】:

【参考方案7】:

在 Codeigniter 中,您必须将日期助手加载为 $this->load->helper('date');。比你必须定义城市之后 时区为date_default_timezone_set('Asia/Kolkata');.than 之后 您可以根据您的要求设置您的时区。

$this->load->helper('date'); // load Helper for Date 

date_default_timezone_set("UTC");
echo $date=gmdate("F j, Y").'<br>'; // ie. May 23, 2018

if (function_exists('date_default_timezone_set'))

  date_default_timezone_set('Asia/Kolkata'); // Specify your time zone according to your city


date_default_timezone_set('Asia/Kolkata'); // Defined City For Timezone
$currentDate =time();
$datestring = '%Y-%m-%d - %h:%i %a';
$time = time();
$better_date= mdate($datestring, $time).'<br>'; //  i.e : 2018-05-23 - 09:52 am | For AM | PM result
$c_date=date("Y-m-d H:i:s").'<br>'; // 2018-05-23 09:52:36 | For Seconds Result

// Insert Date and Time to the Database

$data=array(
  'name'    =>'Rudra',
  'email' =>'test@me.com',
  'city'    =>'Kolakata',
  'data_time_on'=>$c_date
);

$this->db->insert('tableName',$data);

【讨论】:

以上是关于在 Codeigniter 3.0.6 中插入当前日期时间的主要内容,如果未能解决你的问题,请参考以下文章

如何在codeigniter的当前日期插入天间隔?

CodeIgniter:无循环地插入多条记录

删除 index.php codeigniter 3.0.6

Codeigniter 从另一个表插入数据并添加到输入帖子

如何使用codeigniter 4框架在mysql数据库中插入多行?

MYSQL在codeigniter中多次插入[重复]