web-dev-qa-db-fra.com

comment reformater la chaîne de datetime en php?

Je reçois une date/heure d'un plugin. Je le mets dans une variable:

$datetime = "20130409163705"; 

Cela se traduit en fait par yyyymmddHHmmss.

J'aurais besoin d'afficher ceci à l'utilisateur comme un temps de transaction, mais cela ne semble pas correct.

Je voudrais organiser cela pour être comme 09/04/2013 16:37:05 _ ​​ou09-apr-2013 16:37:05.

Comment puis-je changer les ordres de la chaîne?

Pour le moment, je pense que l’utilisation de substr pour séparer la date et l’heure. Je ne sais toujours pas comment ajouter les caractères supplémentaires et réorganiser la date.

40
Psychocryo

pourquoi ne pas utiliser date () comme ci-dessous, essayez ceci

$t = strtotime('20130409163705');
echo date('d/m/y H:i:s',$t);

et sera sortie

09/04/13 16:37:05
57
bluewind

Pour PHP 5> = 5.3.0 http://www.php.net/manual/en/datetime.createfromformat.php

$datetime = "20130409163705"; 
$d = DateTime::createFromFormat("YmdHis", $datetime);
echo $d->format("d/m/Y H:i:s"); // or any you want

Résultat:

09/04/2013 16:37:05
38
Andrey Volk

Si vous souhaitez utiliser substr(), vous pouvez facilement ajouter des tirets ou des barres obliques comme celui-ci.

$datetime = "20130409163705"; 
$yyyy = substr($datetime,0,4);
$mm = substr($datetime,4,6);
$dd = substr($datetime,6,8);
$hh = substr($datetime,8,10);
$MM = substr($datetime,10,12);
$ss = substr($datetime,12,14);
$dt_formatted = $mm."/".$dd."/".$yyyy." ".$hh.":".$MM.":".$ss;

Vous pouvez trouver n'importe quel formatage supplémentaire à partir de ce point.

2
iwrestledabearonce

essaye ça

$datetime = "20130409163705"; 
print_r(date_parse_from_format("Y-m-d H-i-s", $datetime));

le résultat:

[year] => 2013
[month] => 4
[day] => 9
[hour] => 16
[minute] => 37
[second] => 5
1
Suresh Kamrushi

Vous pouvez le faire comme ceci:

<?php
$datetime = "20130409163705"; 
$format = "YmdHis";

$date = date_parse_from_format ($format, $datetime);
print_r ($date);
?>

Vous pouvez consulter date_parse_from_format() et les valeurs de format acceptées.

0
vanneto
https://en.functions-online.com/date.html?command={"format":"l jS \\of F Y h:i:s A"}
0
skpaik

Vous pouvez utiliser la fonction date_parse_from_format() ... 

Cochez cette link .. vous aurez une idée claire 

0
SeliC