Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Differenza tra 2 date php

    Ciao ragazzi, ho fatto questo script

    Codice PHP:
    $differenza_in_giorni=(int)(abs(strtotime ("$data_ogg") - strtotime ("$loc_scadenza"))/86400);
    echo 
    " ($differenza_in_giorni giorni alla scadenza.)"
    In questo modo nella variabile $data_ogg metto il giorno di oggi e nella variabile $loc_scadenza la data di scadenza.

    Solo che se le date sono uguali al posto di dirmi 0 giorni mi mett 323gg alla scadenza come mai??

    Come posso risolvere secondo voi??


  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    le date sono informato "english" (es.: "01/12/2010" per dire 12 Gennaio 2010)?

  3. #3
    si 12/01/2010 tutte e due le variabili sono nello stesso formato...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    no... guarda bene... intendo il formato MM/GG/AAAA (cioè prima il mese e poi il giorno e non il contrario come si usa in Italia): io ho provato - con il formato che dico - e funziona

  5. #5
    A io ho messo il formato in italiano, sia nel database che nell'altra variabile

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    nn è un problema... puoi risolvere in tanti modi... al limite con qualcosa tipo:

    $data_ogg_en = substr($data_ogg, 3, 2).'/'.substr($data_ogg, 0, 2).'/'.substr($data_ogg, 6, 4);

    prima del calcolo

  7. #7
    Ma è meglio avere le date in inglese??

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Originariamente inviato da Alex90
    Ma è meglio avere le date in inglese??
    non necessariamente... dipende da cosa fai... anche perchè probabilmente le visualizzi e le mostri "in italiano"... l'importante è essere coerenti e ricordarsi cosa si fa. Ti conviene creare delle funzioni per le varie operazioni così da isolare le righe dove devi intervenire, per es.:

    Codice PHP:
    function DifferenzaInGiorniTraDate($data1$data2) {
      
    $data1_en substr($data_132).'/'.substr($data_202).'/'.substr($data_164);
      
    $data2_en substr($data_232).'/'.substr($data_202).'/'.substr($data_264);
      
    $diff=(int)(abs(strtotime ("$data1") - strtotime ("$data2"))/86400);
      return (
    $diff);
    }; 
    (ci sarebbero modi più eleganti, ma così è più vicino al codice originale e dovrebbe funzionare... da verificare comunque)

    e per usarla:

    Codice PHP:
    $differenza_in_giorni DifferenzaInGiorniTraDate($date_ogg$loc_scadenza); 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.