Jump to content

help with date (unixtime)


Alechko

Recommended Posts

Hello folks,

I have a little problem with date:

 

The MYSQL Table is going like this:

ID	Text	  Date (Unixtime - time());
1	Text #1	  123121231
2	etww	  545465454
3	t4tt	  255255222

 

I have the date in this format:

 

$selectedDate = dd-mm-yy.

 

 

and I want to do something like this:

 

$db->Query("SELECT * from `table` WHERE `date` = '{$selectedDate}'");

 

I tried with strtotime but It didn't worked.

 

thanks.

Link to comment
https://forums.phpfreaks.com/topic/267343-help-with-date-unixtime/
Share on other sites

strtotime will accept several formats. One common format (for me as a Brit) it does not accept is dd/mm/yy, but it is pretty flexible as shown below

 

$dates = array (
           '20/08/12', 
           '20/08/2012', 
           '20-08-12',
           '20-08-2012',
           '20120820',
           '2012-08-20',
           '20 Aug 2012',
           '08/20/2012'
        );
echo '<pre>';
foreach ($dates as $k => $dstr) {
    printf ("%-15s%12d\n", $dstr, strtotime($dstr)) ;
}
echo '</pre>';

 

results

20/08/12                  0

20/08/2012                0

20-08-12        1597186800  <-- tried, but wrong (2020 assumed)

20-08-2012      1345417200

20120820        1345417200

2012-08-20      1345417200

20 Aug 2012      1345417200

08/20/2012      1345417200

thanks for the format help,

but It dosen't matter which format.. I can't equal the specific date with the date in my MYSQL Tables.

 

	
$_POST['selectedDate'] = "22-08-2012";
$chosen = strtotime($_POST['selectedDate']);
$sql = $db->Query("SELECT * from `e_leads` WHERE `date` = '{$chosen}'");

 

The equal sign dosen't working. But if I will do the '>' It will show me the next days after the 'chosen' date. But If I want the chosen date specificaly?

 

 

I wrote this table as an exmaple of unix time.

 

I structred the column 'date' as an INT(11) and inserting into it time(); function according to the time.

 

I'm trying to pull the matches of the specific date.

 

How can pull the data of a specific date?

 

$_POST['selectedDate'] = "22-08-2012";
$chosen = strtotime($_POST['selectedDate']);
 $sql = $db->Query("SELECT * from `e_leads` WHERE `date` = '{$chosen}'");

 

thanks.

the time() function returns the exact second, you're trying to compare the time at 12:00 am on that date to another time on that date.

 

You probably need to do it like this:

 

$chosen_start = strtotime("22-08-2012");
$chosen_end = strtotime("23-08-2012"]);
$sql = $db->Query("SELECT * from `e_leads` WHERE `date` >= '{$chosen_start}' AND `date` < '{$chosen_end}'");

 

That will give you all of the matches that occured on 22-08-2012

 

You could have more luck storing the date as a mysql date or datetime format, and using the mysql functions.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.