Domanda

Ok, io sono un po 'confuso. Sto lavorando su un progetto che deve memorizzare alcuni time() nel database. Mi sembra che per una migliore flessibilità devo conservare come timestamp in modo che io potessi fare un'operazione tra 2 volte e altre cose interessanti. Ma ho visto (qui più che altrove) che un sacco di gente memorizzare tempo nei database in formato della data, che rientrano in alcune domande comuni come: come posso convertire il formato della data in timestamp? O come posso sottrarre una data all'altra che hanno formato data diversa? ecc.

Mi sbaglio usando timestamp e convertirlo successivamente (per essere mostrato all'utente) in formato tempo? database MySQL.

È stato utile?

Soluzione

tendo a memorizzare i timestamp in int formato (10), come un timestamp di UNIX sarà sempre di 10 caratteri. Si consiglia di utilizzare int invece di varchar o char come quando si utilizza la sintassi SQL l'ordine di non otterrà l'ordine non corretto.

Di 'che si desidera convertire da una data a un timestamp, è possibile usare sia strtotime o mktime , a seconda di quello che stai facendo.

Per calcolare la differenza tra due timestamp semplicemente sottrarre l'uno dall'altro.

Per il rilascio dei fusi orari è possibile impostare questo paese dell'utente utilizzando date_default_timezone_set . Questo sarà preso in considerazione quando si sta utilizzando funzioni come data

Altri suggerimenti

MySQL supporta DateTime, data e timestamp colonne e offerte diverse utili funzioni per lavoro con loro attraverso SQL. Io suggerisco di leggere la pagina di manuale collegata a scegliere quello giusto per le vostre esigenze.

Nel caso in cui non si sapeva, MySQL supporta diverse funzioni di data, DATESUB, DATEADD etc.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top