funzioni per calcoli sulle date

stefanone69

Nuovo Utente
11 Giu 2013
9
0
0
Non sono uno sviluppatore professionista e quando mi trovo difronte ad un muro me la cavo con i 'sotterfugi':cool:
Quello che vorrei sapere da tutti voi GURU... possibile che alla versione 5 o più del PHP non esistono funzioni "funzionanti!" per gestire le date ed i calcoli su di esse?
Quello che dovevo ottenere era:
da una data qualsiasi ottieni il lunedi della stessa settimana.
Io ci sono riuscito cosi:
PHP:
  <?php

// recupero id dell'agente e giorno dall'url e trovo il lunedi
      $id = $_GET['id'];
     $giorno = $_GET['giorno'];
     
  //$g giorno $m mese $a anno   
     list($g, $m, $a) = explode('/',$giorno);
        $unixd = mktime(0, 0, 0, $m, $g, $a);

//giorno della settimana $gset
      $gset=date('w', $unixd);
        if ($gset == "0") {
        $gset = "7";
        }
        $gset = $gset - 1;
        // cerco lunedi... se $g-$gset>0 non devo fare altro
  $gver = $g - $gset;
    if ($gver>0) {

                 $gl = $gver;
                 $ml = $m;
                 $al = $a;
                }
                else
                {
// giorni del mese $ngm precedente
 if ($m>1){
        $ml = $m-1;
        $unixd = mktime(0, 0, 0, $ml, $g, $a);
        $ngm = date('t', $unixd);
        $gl = $g + $ngm - $gset;
        $al = $a;
 }
 else {
        $al=$a-1;
        $ml = "12";
        $unixd = mktime(0, 0, 0, $ml, $g, $al);
        $ngm = date('t', $unixd);
        $gl = $g + $ngm - $gset ;
 }                        
                }
        $lunedi = $al."-".$ml."-".$gl;
        $lunedit =  $gl."/".$ml."/".$al;
ma c'era un metodo più veloce?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Cioa, puoi provare con la funzione strtotime()
PHP:
echo date("d/m/Y",strtotime("previous monday"));
prevede un secondo parametro per passare la data se omesso ti restituisce il lunedi della settiamna corrente
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
se non ho capito male quello che vuoi fare
PHP:
<?php
/*
per fare il test commenta e decommenta una riga del giorno
*/
$giorno="10/04/2016";//domenica => 11/04/2016
//$giorno="11/04/2016";//lunedì => 11/04/2016
//$giorno="13/04/2016";//mercoledì => 11/04/2016
//$giorno="16/04/2016";//sabato => 11/04/2016
//$giorno="17/04/2016";//domenica => 18/04/2016
list($g, $m, $a) = explode('/',$giorno);
$unixd = mktime(0, 0, 0, $m, $g, $a);
$gset=date('w', $unixd);
$sottrarre=$gset-1;
$unixd = mktime(0, 0, 0, $m, abs($g-$sottrarre), $a);
$lunedi=date("d/m/Y",$unixd);
echo "$giorno<br>";
echo "$lunedi<br>";
?>
 

stefanone69

Nuovo Utente
11 Giu 2013
9
0
0
Prima di tutto vorrei ringraziarvi: siete veramente molto gentili e disponibili.
Per quanto riguarda le info che mi avete mandato complimenti! Ho cercato tanto sul web ma non si trova nulla che descrive queste funzioni...

PHP:
strtotime("previous monday")
è eccezionale praticamente quello di cui avevo bisogno! Funziona sempre o il server deve avere dei requisiti particolari in configurazione?

PHP:
mktime(0, 0, 0, $m, abs($g-$sottrarre), $a)
questa se nn erro l'avevo provata ma o per un errore mio o per una configurazione del server non sono riuscito a farla funzionare.
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Riadattamento funzioni per far scomparire un menu. jQuery 4
V Creare funzioni PHP per agevolare bootstrap PHP 1
B funzioni per creare file e inserirli dentro una certa cartella in php? PHP 1
V Funzioni per il filesystem ed il percorso da inserire PHP 0
MarcoGrazia Funzioni generiche per ogni uso Snippet PHP 0
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
S funzioni per immagini Javascript 1
A .each con due funzioni per paramentro jQuery 0
C Stesso onclik per due funzioni diverse Javascript 15
V Script per distanza indirizzi [era: Script Php che non capisco se funzioni !] PHP 2
X Php + xml funzioni per lettura file Xml PHP 5
C funzioni per immagini PHP 1
jan267 Errore: Semplici funzioni per la formattazione del testo Discussioni Varie 6
S Differenza tra le funzioni include () e require ()? PHP 1
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
B Funzioni matematiche php PHP 2
G funzioni php pericolose Hosting 2
M [PHP] utilizzo di una classe e delle sue funzioni PHP 2
Arcadia [MS Access] Implementazione progetto con nuove funzioni. MS Access 0
N [Java] jbutton con funzioni Java 2
A Richiamare funzioni esterne JS da PHP PHP 9
M [Javascript] Spiegazioni di due funzioni Javascript 10
Andy56 Parametri funzioni in Java Java 0
A [PHP] info funzioni PHP 11
M La bozza di un sito con alcune funzioni javascript non si apre correttamente su smartphone Javascript 1
epicbrozo [Javascript] Mi potreste spiegare passo passo i passaggi di due funzioni? Javascript 0
A funzioni asincrone e callback...help! Ajax 10
B [Javascript] funzioni non funzionanti in un form Javascript 8
V [Javascript] Funzioni su input dinamici Javascript 24
T [Javascript] un form con select dinamica che funzioni da menù... Javascript 2
N [php]icone funzioni tabelle PHP 12
localhost.nicola [Javascript] JS non esegue funzioni su bottoni stampati da chiamata AJAX Javascript 1
Andrea Perrone [Javascript] QUESITO SU FUNZIONI Javascript 28
M Sostituire le funzioni mysql con mysqli, ma quali? PHP 4
V problema con funzioni annidate Javascript 2
L Visibilità connessione Db con MySQLi in funzioni definite dall'utente PHP 0
A Passaggio di variabile tra funzioni PHP 5
M funzioni e gestori di eventi Javascript 1
R php.ini disabilitare funzioni PHP 2
otto9due Problema if elseif o foreach.. o non capisco cosa non funzioni.. PHP 4
M funzioni google maps sovrapposizione markers Javascript 0
O Non capisco cosa non funzioni.. :( Ajax 0
G Funzioni Template Tags WordPress 1
G Richiamare funzioni esterne PHP 0
B funzioni Javascript 0
A Raggruppare piu' funzioni in una sola PHP 1
P Unire due funzioni... Javascript 1
Violetta De Amicis Conflitto funzioni jQuery jQuery 1
R visualizzare risultati query utilizzando le funzioni PHP 0
M Unire piu funzioni di una classe PHP 12

Discussioni simili