Class gvHidraTimestamp

Description

Clase que extiende DateTime de PHP, y que usaremos para representar las fechas en FW Podria haberse llamado gvHidraDateTime, pero como ya tenemos una clase gvHidraDatetime, hemos preferido llamarla con el sufijo timestamp, que es como se conoce habitualmente en muchos SGBDs.

En la clase definimos varios métodos para facilitar el trabajo con gvHidra, tomando como base la clase definida en 'PHP Object Oriented Solutions', de David Powers (Friendsoft 2008)

Located in /include/igep_utils/gvHidraTimestamp.php (line 43)

DateTime
   |
   --gvHidraTimestamp
Variable Summary
mixed $_day
mixed $_month
mixed $_year
Method Summary
static void cmp ( $date1,  $date2)
static void outputFormat ( $fmt)
gvHidraTimestamp __construct ([ $ts = 'now'], [ $tz = null])
void addDays ( $numDays)
void addMonths ( $numMonths)
void addWeeks ( $numWeeks)
void addYears ( $numYears)
void between ( $date1,  $date2)
void betweenDays ( $date1,  $numDays)
void formatFW ()
void formatSOAP ()
void formatUser ()
void getTimestamp ()
void isLeap ()
void modify ( $str)
void setDate ( $year,  $month,  $day)
void setTime ( $hours,  $minutes, [ $seconds = 0])
void subDays ( $numDays)
void subMonths ( $numMonths)
void subWeeks ( $numWeeks)
void subYears ( $numYears)
void __sleep ()
void __wakeup ()
Variables
mixed $_day (line 47)
  • access: protected
mixed $_month (line 46)
  • access: protected
mixed $_year (line 45)
  • access: protected
Methods
static method cmp (line 213)

Compara dos objetos fecha

Devuelve 1 si la primera es menor, -1 si es mayor, y 0 si son iguales Como la comparación se puede hacer directamente, este metodo ya no tiene mucho sentido

  • access: public
static void cmp ( $date1,  $date2)
  • $date1
  • $date2
static method outputFormat (line 225)

Modifica un formato para que éste siempre tenga ceros en meses y dias menores de 10

De momento no se usa, para no alterar el formato definido en cada nivel

static void outputFormat ( $fmt)
  • $fmt
Constructor __construct (line 57)

Sobreescribe el constructor por defecto

gvHidraTimestamp __construct ([ $ts = 'now'], [ $tz = null])
  • $ts
  • $tz

Redefinition of:
DateTime::constructor __construct ( )
addDays (line 234)

METODOS PARA OPERAR

  • access: public
void addDays ( $numDays)
  • $numDays
addMonths (line 267)

Este método cambia el funcionamiento por defecto usado en modify:

  • si estamos en dia 31 y le sumamos un mes, si no existe el dia obtenemos el 1 del mes siguiente
Con este metodo, en la situación anterior obtenemos el último dia del mes siguiente.

  • access: public
void addMonths ( $numMonths)
  • $numMonths
addWeeks (line 248)
  • access: public
void addWeeks ( $numWeeks)
  • $numWeeks
addYears (line 338)

Ver comentarios en addMonths

  • access: public
void addYears ( $numYears)
  • $numYears
between (line 188)

Devuelve si la fecha actual está entre el rango de fechas introducido REVIEW: Hay que revisar este metodo. La forma de trabajar con el no se si es comoda.

Ahora que se puede comparar directamente, igual ya tiene poco sentido

  • access: public
void between ( $date1,  $date2)
  • $date1
  • $date2
betweenDays (line 194)
  • access: public
void betweenDays ( $date1,  $numDays)
  • $date1
  • $numDays
checkLastDayOfMonth (line 364)

Comprueba si la fecha interna calculada en metodos addMonths, subMonths, ... es correcta.

En estos métodos solo se cambia el mes y año, por lo que sólo hay que comprobar que el dia siga existiendo en el mes-año en curso, y en caso contrario ajusta el día al último del mes

  • access: protected
void checkLastDayOfMonth ()
formatFW (line 156)

Formatea la fecha en el formato FW

  • access: public
void formatFW ()
formatSOAP (line 167)

Formatea la fecha en el formato usado por SOAP

http://www.w3.org/TR/xmlschema-2/#dateTime

  • access: public
void formatSOAP ()
formatUser (line 146)

Formatea la fecha en el formato User

  • access: public
void formatUser ()
getTimestamp (line 175)

Devuelve el valor de la fecha en timestamp

REVIEW: Hay que revisar este metodo. Cuando utilicemos la version 5.3 de PHP podemos eliminarlo

  • access: public
void getTimestamp ()
isLeap (line 378)

Indica si el año es bisiesto

  • access: public
void isLeap ()
modify (line 125)
  • access: public
void modify ( $str)
  • $str

Redefinition of:
DateTime::modify ( )
setDate (line 112)

Sobrecarga del método setDate, para que no permita meses y dias fuera de rango

En caso de necesitar, se puede usar el método modify (ej. +1000 days, ...)

  • access: public
void setDate ( $year,  $month,  $day)
  • $year
  • $month
  • $day

Redefinition of:
DateTime::setDate ( )
setTime (line 88)

Sobrecarga del método setTime, para que no permita horas, minutos y segundos fuera del rango

En caso de necesitar, se puede usar el metodo modify (ej. +300 seconds, ...)

  • access: public
void setTime ( $hours,  $minutes, [ $seconds = 0])
  • $hours
  • $minutes
  • $seconds

Redefinition of:
DateTime::setTime ( )
subDays (line 241)
  • access: public
void subDays ( $numDays)
  • $numDays
subMonths (line 304)

Ver comentarios en addMonths

  • access: public
void subMonths ( $numMonths)
  • $numMonths
subWeeks (line 255)
  • access: public
void subWeeks ( $numWeeks)
  • $numWeeks
subYears (line 350)

Ver comentarios en addMonths

  • access: public
void subYears ( $numYears)
  • $numYears
__sleep (line 72)

Usado junto con __wakeup para conservar estado de clase base DateTime

TODO: Segun explica en http://php.net/manual/en/datetime.wakeup.php (comentario del 19-Jun-2009 03:14 parece que con la 5.3 se arregla.

  • access: public
void __sleep ()
__wakeup (line 80)

Usado junto con __sleep para conservar estado de clase base DateTime

  • access: public
void __wakeup ()

Inherited Methods

Inherited From DateTime (Internal Class)

constructor __construct ( )
format ( )
getOffset ( )
getTimezone ( )
modify ( )
setDate ( )
setISODate ( )
setTime ( )
setTimezone ( )
Class Constants

Inherited Constants

Inherited from DateTime (Internal Class)

ATOM = 'Y-m-d\\TH:i:sP'
COOKIE = 'l, d-M-y H:i:s T'
ISO8601 = 'Y-m-d\\TH:i:sO'
RFC822 = 'D, d M y H:i:s O'
RFC850 = 'l, d-M-y H:i:s T'
RFC1036 = 'D, d M y H:i:s O'
RFC1123 = 'D, d M Y H:i:s O'
RFC2822 = 'D, d M Y H:i:s O'
RFC3339 = 'Y-m-d\\TH:i:sP'
RSS = 'D, d M Y H:i:s O'
W3C = 'Y-m-d\\TH:i:sP'

Documentation generated on Wed, 05 Oct 2011 10:36:30 +0200 by phpDocumentor 1.4.1