Visualizzazione dei risultati da 1 a 6 su 6

Discussione: conversione data

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    conversione data

    una curiosità, come mai se converto la data 91-08-14 mi restituisce il giorno 14, mentre se converto la data 64-08-14 mi restituisce come giorno 1?

    Codice PHP:
    $data "91-08-14";
    $ts_data strtotime($data);
    $giorno date("d"$ts_data); // risultato 14 esatto

    $data "64-08-14";
    $ts_data strtotime($data);
    $giorno date("d"$ts_data); // risultato 1 sbagliato 

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Il problema è che per far interpretare correttamente la data non puoi mettere solo le ultime 2 cifre dell'anno, ma lo devi mettere completo, con 1964 funziona.

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da Alhazred
    Il problema è che per far interpretare correttamente la data non puoi mettere solo le ultime 2 cifre dell'anno, ma lo devi mettere completo, con 1964 funziona.
    si si lo so!.. quello che volevo sapere èerchè con 91 funziona lo stesso mentre con 64 no?..

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Non lo so di preciso, ma forse ha a che fare col fatto che 64 è precedente al 71 che è l'anno di riferimento per i timestamp.
    Non so se è davvero così, ma è un'ipotesti.

  5. #5
    Originariamente inviato da Alhazred
    Non lo so di preciso, ma forse ha a che fare col fatto che 64 è precedente al 71 che è l'anno di riferimento per i timestamp.
    Non so se è davvero così, ma è un'ipotesti.
    ipotesi corretta.

    dal manuale php:


    Note:
    If the number of the year is specified in a two digit format, the values between 00-69 are mapped to 2000-2069 and 70-99 to 1970-1999. See the notes below for possible differences on 32bit systems (possible dates might end on 2038-01-19 03:14:07).

    Note:

    The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 UTC to Tue, 19 Jan 2038 03:14:07 UTC. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer.) Additionally, not all platforms support negative timestamps, therefore your date range may be limited to no earlier than the Unix epoch. This means that e.g. dates prior to Jan 1, 1970 will not work on Windows, some Linux distributions, and a few other operating systems. PHP 5.1.0 and newer versions overcome this limitation though.

    For 64-bit versions of PHP, the valid range of a timestamp is effectively infinite, as 64 bits can represent approximately 293 billion years in either direction.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    pazzeschi! grazie dell'informazione!

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.