Come posso convertire questa stringa 05/Feb/2010:14:00:01
in unixtime?Converti stringa Fino ad oggi in PHP
risposta
Per PHP 5.3 questa dovrebbe funzionare. Potresti aver bisogno di trafficare con il passare $ dateInfo ['is_dst'], comunque non funzionava per me.
$date = '05/Feb/2010:14:00:01';
$dateInfo = date_parse_from_format('d/M/Y:H:i:s', $date);
$unixTimestamp = mktime(
$dateInfo['hour'], $dateInfo['minute'], $dateInfo['second'],
$dateInfo['month'], $dateInfo['day'], $dateInfo['year'],
$dateInfo['is_dst']
);
Le versioni precedenti, questo dovrebbe funzionare.
$date = '05/Feb/2010:14:00:01';
$format = '@^(?P<day>\d{2})/(?P<month>[A-Z][a-z]{2})/(?P<year>\d{4}):(?P<hour>\d{2}):(?P<minute>\d{2}):(?P<second>\d{2})[email protected]';
preg_match($format, $date, $dateInfo);
$unixTimestamp = mktime(
$dateInfo['hour'], $dateInfo['minute'], $dateInfo['second'],
date('n', strtotime($dateInfo['month'])), $dateInfo['day'], $dateInfo['year'],
date('I')
);
Potrebbe non piacervi le espressioni regolari. Potresti annotare, ovviamente, ma non piace a nessuno. Quindi, questa è un'alternativa.
$day = $date[0].$date[1];
$month = date('n', strtotime($date[3].$date[4].$date[5]));
$year = $date[7].$date[8].$date[9].$date[10];
$hour = $date[12].$date[13];
$minute = $date[15].$date[16];
$second = $date[18].$date[19];
Oppure substr, o esplode, qualunque cosa si voglia analizzare la stringa.
Si dovrebbe esaminare il strtotime() function.
Ho cercato ma non posso farlo funzionare – streetparade
La tua stringa potrebbe non essere compatibile con strtotime(); potrebbe essere necessario formattarlo un po 'prima. –
Utilizzare la funzione strtotime
:
Esempio:
$date = "25 december 2009";
$my_date = date('m/d/y', strtotime($date));
echo $my_date;
Non vedo alcun formato supportato da strtotime nel manuale – streetparade
@streetparade: intendo ad esempio non è possibile passare ad esso tutti i tipi di stringhe per la data es. "28 del dicembre duemiladieci" – Sarfraz
Vale la pena notare che strtotime supporta anche parole chiave e frasi come "ieri" o "questo giorno la prossima settimana"; p – Rowan
semplice esplosione dovrebbe fare il trucco:
$monthNamesToInt = array('Jan'=>1,'Feb'=>2, 'Mar'=>3 /*, [...]*/);
$datetime = '05/Feb/2010:14:00:01';
list($date,$hour,$minute,$second) = explode(':',$datetime);
list($day,$month,$year) = explode('/',$date);
$unixtime = mktime((int)$hour, (int)$minute, (int)$second, $monthNamesToInt[$month], (int)$day, (int)$year);
Se siete in su per esso, utilizzare la classe DateTime
Prova questo:
$new_date=date('d-m-Y', strtotime($date));
Questo è downvoted a causa della ridondanza. La risposta è corretta, ma è stata fornita in precedenza l'8 febbraio da Sarfraz. Il problema –
$d="05/Feb/2010:14:00:01";
$dr= date_create_from_format('d/M/Y:H:i:s', $d);
echo $dr->format('Y-m-d H:i:s');
qui si ottiene stringa di date, indicare lo specificatore di formato in -> format() in base al formato richiesto
Se si tratta di una stringa di cui si ha fiducia nel significato che si è verificata in precedenza, anche il seguente potrebbe funzionare.
$date = new DateTime('2015-03-27');
con DateTime è quello che convertirà il fuso orario. – Roninio
- 1. Converti Stringa facoltativa fino ad oggi
- 2. Converti stringa con formato sconosciuto (qualsiasi formato) fino ad oggi
- 3. VBA convertire la stringa fino ad oggi
- 4. anno e la settimana fino ad oggi in php
- 5. come convertire stringa fino ad oggi oggetto in Ruby
- 6. conversione della stringa fino ad oggi in MongoDB
- 7. R aiuto conversione fattore fino ad oggi
- 8. Python convertire lungo fino ad oggi
- 9. l'aggiunta di 30 minuti fino ad oggi
- 10. String fino ad oggi in Oracle con millisecondi
- 11. Converti colonna varchar fino ad oggi in mysql a livello di database
- 12. Aggiungi 'X' quantità di ore fino ad oggi
- 13. Convertire epoca fino ad oggi in sqlplus/Oracle
- 14. Convalida "dalla data" e "fino ad oggi" in Android
- 15. Come convertire un timestamp unix fino ad oggi in Spark
- 16. Golang: Data String ad oggi
- 17. Domanda Python: anno e giorno dell'anno fino ad oggi?
- 18. Git Pull - Tutto quello fino ad oggi, ma non è
- 19. Converti php array in stringa csv
- 20. Conta giorni fino a oggi moment.js
- 21. conversione dei dati in anno mese giorno ora e minuti fino ad oggi in R
- 22. Compilare l'asse X dei diagrammi elevati con date date da e fino ad oggi
- 23. Oggetto stringa fino ad oraOggetto temporale in SFrame
- 24. Converti stringa per data - mese romano
- 25. Converti System.Array in stringa []
- 26. Set MinDate ad oggi in Bootstrap DateTimePicker
- 27. parsing della stringa data in python (convertire la stringa ad oggi)
- 28. Converti stringa di tempo in ore decimali PHP
- 29. Converti SVGSVGElement in stringa
- 30. Converti da Formato lungo fino a data
Non funziona affatto. Dice date_parse_from_format non è definito. –
@xcoder, rileggi la mia risposta per favore. – erisco