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

    [php+mysql] creare date per campi timestamp

    Ciao,
    io posseggo delle informazioni riguardanti una data e vorrei creare il relativo campo di tipo timestamp di MySQL.

    Le informazioni che posseggo sono il giorno, il mese e l'anno in due possibili formati: 01/01/2005 o 1/1/2005.

    Esiste una funzione php che a partire da queste crea un dato utile da inserire in un campo timestamp?


  2. #2
    Il campo timestamp di mysql è fondamentalmente un int(14) cioè accetta solo numeri interi di max 14 cifre.

    Per convertire una qualsiasi data in UNIX timestamp ci sono due metodi,
    Mysql:
    SELECT UNIX_TIMESTAMP('2005-01-01') as time
    tutta la documentazione http://dev.mysql.com/doc/refman/5.0/...functions.html

    Php:
    mktime(0,0,0,1,1,2005)
    in ordine di posizione
    ora minuti secondi mese giorno anno
    http://it.php.net/manual/it/function.mktime.php

    ciao
    Lu
    Bit Manent, Scripta Volant.
    www.bitmanent.com

  3. #3
    Anche io pensavo che il campo timestamp di MySQL fosse uguale a un timestamp di UNIX ma, sulla data 1/1/2005 se uso la funzione mktime(0,0,0,1,1,2005) ottengo 1104534000.

    In MySQL invece la medesima data è rappresentata dalla stringa 20050101000000.

    Ora potrei ottenere tale stringa concatenando le informazioni che posseggo, ma dovrei fare dei controlli.. vorrei sapere se esite un modo più elegante per lavorare con le date.


  4. #4
    Ho risolto e posto:

    $data_mysql_timestamp = date ("YmdHis", mktime(0,0,0,1,21,2005));

    Utilizzando propriamente le funzioni date() e mktime() si ottiene la data nel formato timestamp utilizzato da MySQL.

    Ciao!

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.