|
Server : Apache System : Linux vps.urbanovitalino.adv.br 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 User : urbanovitalinoad ( 1001) PHP Version : 7.3.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/urbanovitalinoad/public_html/enel/components/com_jevents/libraries/ |
Upload File : |
<?php
/**
* JEvents Component for Joomla! 3.x
*
* @version $Id: jeventdate.php 1784 2011-03-14 14:28:13Z geraintedwards $
* @package JEvents
* @copyright Copyright (C) 2008-2019 GWE Systems Ltd, 2006-2008 JEvents Project Group
* @license GNU/GPLv2, see http://www.gnu.org/licenses/gpl-2.0.html
* @link http://www.jevents.net
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
// TODO replace with JevDate
class JEventDate {
var $year = null;
var $month = null;
var $day = null;
var $hour = null;
var $minute = null;
var $second = null;
var $dim = null;
function __construct( $datetime='' ) {
$time = JevDate::strtotime($datetime);
if ($datetime!="" && $time!==false){
$this->date = $time;
$parts = explode(":",date("Y:m:j:G:i:s:t",$this->date));
$this->year = intval($parts[0]);
$this->month = intval($parts[1]);
$this->day = intval($parts[2]);
$this->hour = intval($parts[3]);
$this->minute = intval($parts[4]);
$this->second = intval($parts[5]);
$this->dim = intval($parts[6]);
}
else {
$this->date = time();
$parts = explode(":",date("Y:m:j:G:i:s:t",$this->date ));
$this->year = intval($parts[0]);
$this->month = intval($parts[1]);
$this->day = intval($parts[2]);
$this->hour = 0;
$this->minute = 0;
$this->second = 0;
$this->dim = intval($parts[6]);
}
}
function setDate( $year=0, $month=0, $day=0 ) {
$this->date = JevDate::mktime(0,0,0,$month,$day,$year);
$parts = explode(":",date("Y:m:j:G:i:s:t",$this->date));
$this->year = intval($parts[0]);
$this->month = intval($parts[1]);
$this->day = intval($parts[2]);
$this->hour = intval($parts[3]);
$this->minute = intval($parts[4]);
$this->second = intval($parts[5]);
$this->dim = intval($parts[6]);
}
function getYear( $asString=false ) {
return $asString ? sprintf( '%04d', $this->year ) : $this->year;
}
function getMonth( $asString=false ) {
return $asString ? sprintf( '%02d', $this->month ) : $this->month;
}
function getDay( $asString=false ) {
return $asString ? sprintf( '%02d', $this->day ) : $this->day;
}
function get12hrTime( ){
return date("g:ia",$this->date);
}
function get24hrTime( ){
return sprintf( '%02d:%02d', $this->hour, $this->minute);
}
function toDateURL() {
return( 'year=' . $this->getYear( 1 )
. '&month=' . $this->getMonth( 1 )
. '&day=' . $this->getDay( 1 )
);
}
/**
* Utility function for calculating the days in the month
*
* If no parameters are supplied then it uses the current date
* if 'this' object does not exist
* @param int The month
* @param int The year
*/
function daysInMonth( $month=0, $year=0 ) {
$month = intval( $month );
$year = intval( $year );
if ( !$month ){
if( isset( $this )) {
$month = $this->month;
} else {
$month = date( 'm' );
}
}
if( !$year ){
if( isset( $this )) {
$year = $this->year;
}else{
$year = date( 'Y' );
}
}
;
return intval(date("t",JevDate::mktime(0,0,0,$month,1,$year)));
}
/**
* Adds (+/-) a number of months to the current date.
* @param int Positive or negative number of months
*/
function addMonths( $n=0 ) {
// correct for months where number of days is shorter than source month)
$dim = intval(date("t",JevDate::mktime(0,0,0,$this->month+$n,1,$this->year)));
$this->date = JevDate::mktime($this->hour,$this->minute,$this->second,$this->month+$n,min($this->day,$dim),$this->year);
$parts = explode(":",date("Y:m:j:G:i:s:t",$this->date));
$this->year = intval($parts[0]);
$this->month = intval($parts[1]);
$this->day = intval($parts[2]);
$this->dim = intval($parts[6]);
}
function addDays( $n=0 ) {
$this->date = JevDate::mktime($this->hour,$this->minute,$this->second,$this->month,$this->day+$n,$this->year);
$parts = explode(":",date("Y:m:j:G:i:s:t",$this->date));
$this->year = intval($parts[0]);
$this->month = intval($parts[1]);
$this->day = intval($parts[2]);
$this->dim = intval($parts[6]);
}
//function toDays( $day=0, $month=0, $year=0) is no longer needed
// function fromDays( $days ) is no longer needed
} // end class