在 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 中插入当前日期时间的主要内容,如果未能解决你的问题,请参考以下文章
删除 index.php codeigniter 3.0.6