davidude Posted March 3, 2006 Share Posted March 3, 2006 I need to make a php file that takes a date/time in variables like:$userdate = “5/3/06” (This format is not set, I can change it if needs be.)$usertime = “6” (hours. Maybe 1 to 24 as possible values)And check the current date and time. Then compare the two and echo the difference in hours and mins.Example: 104Hours and 45mins. (Between the current time and the user time)This is above my head as far as the date() function goes… But maybe someone out there who is go with this sort of thing could help me. I would really appreciate it! Thanks.Oh, ya. I found this entry by “skee”[!--quoteo--][div class=\'quotetop\']QUOTE[/div][div class=\'quotemain\'][!--quotec--]$now = time(); $then = mktime(0,0,0,11,1,1984); $diff = $now - $then; Returns the difference (in seconds) between now and November first, 1984. The result can then be parsed through a number of functions.[/quote] Quote Link to comment Share on other sites More sharing options...
davidude Posted March 4, 2006 Author Share Posted March 4, 2006 Here is something I found (and changed) that outputs the difference, something like "272 days 17 hours 33 mins". Hope ya'll can use it![code]<?php$current_date = date("Y-m-d");$current_time = date("h:i:s");$user_date = "2006-12-1";$user_time = "1:00:00";function unix_diff($first_date,$first_time,$second_date,$second_time){ // Author: Tone. // edited by Davidude // Date : 15-12-2003. // Ref: Dates go in "2003-12-31". // Ref: Times go in "12:59:13". // Ref: mktime(HOUR,MIN,SEC,MONTH,DAY,YEAR). // Splits the dates into parts, to be reformatted for mktime. $first_date_ex = explode("-",$first_date); $first_time_ex = explode(":",$first_time); $second_date_ex = explode("-",$second_date); $second_time_ex = explode(":",$second_time); // makes the dates and times into unix timestamps. $first_unix = mktime($first_time_ex[0], $first_time_ex[1], $first_time_ex[2], $first_date_ex[1], $first_date_ex[2], $first_date_ex[0]); $second_unix = mktime($second_time_ex[0], $second_time_ex[1], $second_time_ex[2], $second_date_ex[1], $second_date_ex[2], $second_date_ex[0]); // Gets the difference between the two unix timestamps. $timediff = $first_unix-$second_unix; // Works out the days, hours, mins and secs. $days=intval($timediff/86400); $remain=$timediff%86400; $hours=intval($remain/3600); $remain=$remain%3600; $mins=intval($remain/60); $secs=$remain%60; // Returns a pre-formatted string. Can be chagned to an array. return $days . " days " . $hours . " hours " . $mins . " mins";} $diff = unix_diff($current_date,$current_time,$user_date,$user_time);$diff = str_replace("-", "", $diff);echo $diff;?>[/code] Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.