2012-03-04 18 views
13

Sto cercando di ottenere l'ora corrente in uno script bash e di memorizzarlo in un database MySql. Come posso ottenere l'ora corrente e convertirlo in un formato che può essere salvato in un campo MySQL datetime.Bash time to mysql datetime

+3

Perché non usi mysql's 'NOW()'? Utilizzare ** solo ** il tempo del server db è una pratica comune – zerkms

+0

C'è una ragione per cui è necessario il tempo di bash e non è possibile utilizzare le funzioni in tempo corrente in MySQL? (Maledizione, bastonato!) –

risposta

18

Si può scrivere:

date +'%F %T' 

che stamperà qualcosa di simile a: (. Ma, come zerkms dice, è probabilmente meglio utilizzare solo NOW() all'interno di MySQL)

2012-03-04 11:56:54 

+0

Ha funzionato per me, ma sembra che gli spazi extra non siano ben accolti. Ho aggiunto spazio extra dopo il segno più (+), che ha interrotto la sceneggiatura. Grazie! – Rolice

2

Equivalente della risposta di @ruakh, in forma estesa:

date +'%Y-%m-%d %H:%M:%S' 

che stamperà qualcosa come:

2014-04-14 11:33:48 

Utile se alcuni dei caratteri di separazione sovrimpressione della data, non sono validi per un uso o un altro.