By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,718 Members | 1,840 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,718 IT Pros & Developers. It's quick & easy.

Computing an expiration date

P: n/a
I need to compute an expiration date based on the number of hours,
days, or months purchased.
The expiration date needs to be expressed in minutes something like
'1260481600'.

How can I get the current date and time expressed in minutes?

Once I have this number I can add the number of minutes purchased to
the current date/time to get the expiration date.

Thanks,
Dave

Jul 10 '07 #1
Share this Question
Share on Google+
3 Replies


P: n/a
On Jul 10, 7:20 am, dave <skny...@sccoast.netwrote:
I need to compute an expiration date based on the number of hours,
days, or months purchased.
The expiration date needs to be expressed in minutes something like
'1260481600'.

How can I get the current date and time expressed in minutes?
round(time()/100/60)
>
Once I have this number I can add the number of minutes purchased to
the current date/time to get the expiration date.

Thanks,
Dave

Jul 10 '07 #2

P: n/a
On 10 Jul, 13:20, dave <skny...@sccoast.netwrote:
I need to compute an expiration date based on the number of hours,
days, or months purchased.
The expiration date needs to be expressed in minutes something like
'1260481600'.

How can I get the current date and time expressed in minutes?

Once I have this number I can add the number of minutes purchased to
the current date/time to get the expiration date.

Thanks,
Dave
divide the unixtime by 60

Jul 10 '07 #3

P: n/a
Here are a series of REALLY USEFUL functions taken from the Zend Code
Galleries that you might fine useful. the link is:
http://www.zend.com/code/codex.php?id=176&single=1
New and Improved! New function mysql_cvdate allows you to take a form-
entered date value and express it in mysql's SQL date format. Also
includes some real-life functions you can call to perform common date/
time conversions between MySQL datetime format, MySQL timestamp format
and UNIX timestamp (i.e. seconds after epoch) with "human" output.
Time left function perfect for auction scripts, or where you need
output of the difference between two supplied times.


<?
function mysql_cvdate($s)
{
//take a user-entered date value and express it in MySQL's
date format
// ***Use this to parse date input from a form into a MySQL
database.
return timestamp_to_mysql_date(cvdate($s));
}
//we use UNIX's time specification as the base specification

function mysql_datetime_to_human($dt)
{
$yr=strval(substr($dt,0,4));
$mo=strval(substr($dt,5,2));
$da=strval(substr($dt,8,2));
$hr=strval(substr($dt,11,2));
$mi=strval(substr($dt,14,2));
// $se=strval(substr($dt,17,2));

return date("m/d/Y H:i", mktime ($hr,$mi,0,$mo,$da,
$yr))." MST";
}

function mysql_date_to_human($dt)
{
//intercept mysql's default ZERO date value.
if ($dt=="0000-00-00") return "";

$yr=strval(substr($dt,0,4));
$mo=strval(substr($dt,5,2));
$da=strval(substr($dt,8,2));

return date("m/d/Y", mktime (0,0,0,$mo,$da,$yr));
}
function mysql_timestamp_to_human($dt)
{

$yr=strval(substr($dt,0,4));
$mo=strval(substr($dt,4,2));
$da=strval(substr($dt,6,2));
$hr=strval(substr($dt,8,2));
$mi=strval(substr($dt,10,2));
//$se=strval(substr($dt,12,2));

return date("m/d/Y H:i", mktime ($hr,$mi,0,$mo,$da,
$yr))." MST";
}

function mysql_timestamp_to_timestamp($dt)
{
$yr=strval(substr($dt,0,4));
$mo=strval(substr($dt,4,2));
$da=strval(substr($dt,6,2));
$hr=strval(substr($dt,8,2));
$mi=strval(substr($dt,10,2));
$se=strval(substr($dt,10,2));

return mktime($hr,$mi,$se,$mo,$da,$yr);
}

function mysql_datetime_to_timestamp($dt)
{
$yr=strval(substr($dt,0,4));
$mo=strval(substr($dt,5,2));
$da=strval(substr($dt,8,2));
$hr=strval(substr($dt,11,2));
$mi=strval(substr($dt,14,2));
$se=strval(substr($dt,17,2));

return mktime($hr,$mi,$se,$mo,$da,$yr);
}

function timestamp_to_mysql_timestamp($ts)
{
$d=getdate($ts);

$yr=$d["year"];
$mo=$d["mon"];
$da=$d["mday"];
$hr=$d["hours"];
$mi=$d["minutes"];
$se=$d["seconds"];

return sprintf("%04d%02d%02d%02d%02d%02d",$yr,$mo,$da,
$hr,$mi,$se);
}

function timestamp_to_mysql_date($ts)
{

$d=getdate($ts);

$yr=$d["year"];
$mo=$d["mon"];
$da=$d["mday"];

return sprintf("%04d-%02d-%02d",$yr,$mo,$da);
}
function timeleft($begin,$end)
{
//for two timestamp format dates, returns the plain english
difference between them.
//note these dates are UNIX timestamps
$dif=$end-$begin;

$years=intval($dif/(60*60*24*365));
$dif=$dif-($years*(60*60*24*365));

$months=intval($dif/(60*60*24*30));
$dif=$dif-($months*(60*60*24*30));

$weeks=intval($dif/(60*60*24*7));
$dif=$dif-($weeks*(60*60*24*7));

$days=intval($dif/(60*60*24));
$dif=$dif-($days*(60*60*24));

$hours=intval($dif/(60*60));
$dif=$dif-($hours*(60*60));

$minutes=intval($dif/(60));
$seconds=$dif-($minutes*60);

$s="";

//if ($years<>0) $s.= $years." years ";
//if ($months<>0) $s.= $months." months ";
if ($weeks<>0) $s.= $weeks." weeks ";
if ($days<>0) $s.= $days." days ";
if ($hours<>0) $s.= $hours." hours ";
if ($minutes<>0) $s.= $minutes." minutes ";
//if ($seconds<>0) $s.= $seconds." seconds ";

return $s;

}

function cvdate($s)
{
//this function takes a "human" date and converts it into a
UNIX timestamp, zero if error.
//this function supports dash,slash or space delimiting,
numeric/english months, and two-digit years.

//what is the delimiting character? (support space, slash,
dash)
$delimiter="";
if (strpos($s,"-")>0) $delimiter="-";
if (strpos($s,"/")>0) $delimiter="/";
if (strpos($s," ")>0) $delimiter=" ";

if ($delimiter=="") return 0;

//chop it up
$p1=strpos($s,$delimiter);
$p2=strpos($s,$delimiter,$p1+1);

$x=substr($s,0,$p1);
$y=substr($s,$p1+1,$p2-$p1);
$z=substr($s,$p2+1);

//debug
// echo("$x/$y/$z");

//the last value is always the year, so check it for 2- to 4-
digit convertion
if (intval($z)<100)
{
if (intval($z)>69) $z=strval(1900+intval($z)); else
$z=strval(2000+intval($z));
}

//intelligently select which converter to use
//(default is M/D/Y, but if the month is "spelled out" then
the format is D/M/Y)
if (intval($y)==0)
{
return cvdate_english($x,$y,$z);
}
else
{
return cvdate_numeric($x,$y,$z);
}

}

//just a helper function
function cvdate_english($d,$m,$y)
{
$d2=0; $m2=0; $y2=0;

$d2=intval($d);

$m=strtolower($m);
switch(substr($m,0,3))
{
case "jan": $m2=1; break;
case "feb": $m2=2; break;
case "mar": $m2=3; break;
case "apr": $m2=4; break;
case "may": $m2=5; break;
case "jun": $m2=6; break;
case "jul": $m2=7; break;
case "aug": $m2=8; break;
case "sep": $m2=9; break;
case "oct": $m2=10; break;
case "nov": $m2=11; break;
case "dec": $m2=12; break;
}

$y2=intval($y);

//check for errors!
if (($d2==0)||($m2==0)||($y2==0)) return 0;

//debug
//echo("$m2/$d2/$y2<br>n");

return mktime(0,0,0,$m2,$d2,$y2);
}

//just a helper function
function cvdate_numeric($m,$d,$y)
{
$d2=0; $m2=0; $y2=0;

$d2=intval($d);
$m2=intval($m);
$y2=intval($y);

//check for errors!
if (($d2==0)||($m2==0)||($y2==0)) return 0;

//debug
//echo("$m2/$d2/$y2<br>n");

return mktime(0,0,0,$m2,$d2,$y2);
}
?>
Hope tis helps

Jul 10 '07 #4

This discussion thread is closed

Replies have been disabled for this discussion.