commit masivo.
[ecomupi.git] / include / fecha.php
blob808caeb30292a952af17740272c047085c299711
1 <?php
2 /* ConfiguraciĆ³n */
3 $MesInicio = 1;
4 $DiaInicio = 13;
5 $AnioInicio = 2009;
7 /*****************************/
8 /* Constantes exportadas */
9 define ("_F_AMBAS", 0);
10 define ("_F_INICIOS", 1);
11 define ("_F_FINES", 2);
13 /*****************************/
14 function Combobox_catorcenas($nombre="catorcena", $default=NULL, $cuantas = 26, $tipo=_F_AMBAS) {
15 global $MesInicio, $DiaInicio, $AnioInicio;
16 if ( !$default ) { $default=time(); }
17 $inicio=Obtener_catorcena_cercana(mktime(0,0,0,1,1,date('Y')));
18 $s='<select name="'.$nombre.'" id="'.$nombre.'">';
19 for ($i=0; $i<$cuantas; $i++){
20 $catorcena = strtotime("+13 day",$inicio);
21 if ( $inicio == $default || $catorcena == $default ) { $selected = ' selected="selected"'; } else { $selected = ""; }
23 switch ( $tipo ) {
24 case _F_AMBAS:
25 $s.='<option value="'.$inicio.'"'.$selected.'>'."Del " . date('d-m-Y',$inicio) . ' al ' . date('d-m-Y',$catorcena) .'</option>';
26 break;
27 case _F_INICIOS:
28 $s.='<option value="'.$inicio.'"'.$selected.'>'."Del " . date('d-m-Y',$inicio) .'</option>';
29 break;
30 case _F_FINES:
31 $s.='<option value="'.$catorcena.'"'.$selected.'>'.'al ' . date('d-m-Y',$catorcena) .'</option>';
32 break;
34 $inicio = strtotime("+1 day",$catorcena);
36 $s.= '</select>';
37 return $s;
40 function Obtener_catorcena_cercana ($referencia = NULL ) {
41 global $MesInicio, $DiaInicio, $AnioInicio;
42 if ( !$referencia ) {
43 $referencia = mktime(0,0,0,date('n'),date('d'),date('y'));
44 } else {
45 //echo "REFERENCIA: ".$referencia. date(" - h:i:s d/m/Y", $referencia)."<br />";
46 $referencia = mktime(0,0,0,date('m',$referencia), date('d',$referencia), date('Y',$referencia));
47 //echo "POST-REFERENCIA: ".$referencia. date(" - h:i:s d/m/Y", $referencia)."<br />";
49 $inicio=mktime(0,0,0,$MesInicio,$DiaInicio,$AnioInicio);
50 //echo $inicio;
51 if ($referencia < $inicio ) { $referencia = $inicio;}
52 do {
53 $catorcena = strtotime("+13 day",$inicio);
54 //echo "INICIO: ".$inicio. "; FIN: ". $catorcena."<br />";
55 if (($referencia >= $inicio) && ($referencia <= $catorcena)) {return $inicio; }
56 $inicio = strtotime("+1 day",$catorcena);
57 } while ( 1 );
60 function Obtener_catorcena_siguiente() {
61 return strtotime("+14 day",Obtener_catorcena_cercana());
64 function Obtener_catorcena_anterior($referencia=NULL) {
65 if ( !$referencia ) { $referencia = Obtener_catorcena_cercana(); }
66 return strtotime("-14 day", $referencia);
69 function Contar_catorcenas ($inicio=0, $fin=0 ) {
70 if ($fin)
71 return ceil((($fin-$inicio)/1209600));
72 return ceil((($inicio)/1209600));
75 function Fin_de_catorcena ($referencia = NULL) {
76 if (!$referencia) {return NULL;}
77 return strtotime("+13 day",$referencia);
80 function Obtener_Fecha_Base ( $referencia = NULL) {
81 if (!$referencia) {return NULL;}
82 $return = mktime(0,0,0,date('m',$referencia), date('d',$referencia), date('Y',$referencia));
85 function Obtener_Fecha_Tope ( $referencia = NULL) {
86 if (!$referencia) {return NULL;}
87 return mktime(23,59,59,date('m',$referencia), date('d',$referencia), date('Y',$referencia));