2016-04-12 11 views
1

mysqlデータベースの日付フィールドをクエリ自体のstrtotimeのようなタイムスタンプに変換する方法はありますか?クエリ自体の日付タイムスタンプを変換する方法

私のコード:

$this->db->where('effectdate >= ',$start_date); 
    $this->db->where('effectdate <= ',$end_date); 
    $query = $this->db->get(); 

$ start_dateのと$ end_dateのタイムスタンプ値ですが、データベースの値は、タイムスタンプする日付を変換するためにこれらとにかく通常date.Isのですか? 助けてください。

+0

返信ありがとうございます、クエリ自体で行う方法はありますか? – youv

+0

投稿 '$ start_date '形式..それはこれが好きです:** 1222093324 ** –

+0

あなたは'クエリ自体 'の意味ですか? –

答えて

0

この

$this->db->where('effectdate >= ',date('Y-m-d', strtotime($start_date))); 
$this->db->where('effectdate <= ',date('Y-m-d', strtotime($end_date)))); 
$query = $this->db->get(); 
+0

ありがとう、実際には効果の日付を変換する必要があります、可能です – youv

+0

このDATE_FORMATを試してみてください(効果日付、 '%Y-%m-%d')。このリンクもあわせてチェックしてください。http://www.w3schools.com/sql/func_date_format.asp –

+1

@Abdullaあなたは偉大な人です。あなたは多くの時間活動しています。あなたの答えは私が本当に人からインスピレーションを受けました。 –

1

$this->db->where('UNIX_TIMESTAMP(effectdate) >= ',$start_date); 
$this->db->where('UNIX_TIMESTAMP(effectdate) <= ',$end_date); 
$query = $this->db->get(); 

代わりの>= & <=使用between

2

1を使用してみてください試してみてください)STR_TO_DATE()//日付(varchar型=>文字列を日付に変換します) 。

2)UNIX_TIMESTAMP()//日付をunixタイムスタンプ(date => timestamp)に変換します。

$this->db->where('UNIX_TIMESTAMP(STR_TO_DATE(effectdate, "%Y-%m-%d")) >= ',$start_date); 
$this->db->where('UNIX_TIMESTAMP(STR_TO_DATE(effectdate, "%Y-%m-%d")) <= ',$end_date); 

注:%Y-%m-%dは、文字列の日付形式です。あなたの日付書式で置き換えてください

関連する問題