J'ai un numéro de 13 chiffres et je souhaite créer une date et une heure avec Inclure le code d'exemple Milisecond
est comme celui-ci est mon script PHP p> Le résultat est comme Ceci 2012: 02: 10 15: 44: 55.xxx =====> XXX est à 3 chiffres Milisecondes que je veux montrer. P> et comment inclure avec 3 chiffres Miliseconde après H: I: S P> S'il vous plaît aidez-moi ..... p> p>
5 Réponses :
Il suffit de couper les deux derniers caractères:
Sur mon système, qui évalue les "2025-12-10 22: 17: 55.0000" (PHP 5.3.6 sur Ubuntu)
Ceci est mon script PHP $ MIL = 1328910295939; $ secondes = $ mil / 1000; $ showdate = date ('y: m: d h: i: s', secondes de dollars); echo "$ showdate"; Le résultat est comme ceci 2012: 02: 10 15:44:55 et comment inclure avec 3 chiffres Miliseconde après H: I: S
Voici une fonction qui le fera avec précision (en arrondissant, pas de coupure): explication: p> Microtime () renvoie 2 numéros sous forme 1 chaîne, délimitée par un espace. Le 2e numéro est la quantité de secondes depuis l'époque UNIX et le 1er numéro correspond à la quantité de microsecondes depuis le 2e numéro. Fondamentalement, le premier nombre est la quantité de microsecondes exprimée dans un format de précision 8 (0,0000000000) et la trailing 0s ne sont jamais coupées. P> Nous tournons sur une précision de 3 (0,00) et coupé la Diriger 0, et annoncez-le à l'horodatage réel. P> Pour une raison quelconque, la DOC PHP pour vous, microsecondes, ne semble pas être effectivement prise en charge. Je reçois 0.000 chaque fois lorsque vous utilisez cette méthode. J'ai donc eu recours à Microtime () comme solution de sauvegarde. P> p>
Exemple de code est comme celui-ci ceci est mon script php $ mil = 1328910295939; $ secondes = $ mil / 1000; $ showdate = date ('y: m: d h: i: s', secondes de dollars); echo "$ showdate"; Le résultat est comme ceci 2012: 02: 10 15: 44: 55.xxx ====> XXX est à 3 chiffres Milisecondes que je veux montrer.
Le format u code> est pris en charge pour les dates contenant des microsecondes (E.G. DateTime code> instances). La fonction DATE () CODE> fonctionne uniquement avec des horodatages entier, donc ne connaît pas la fraction secondaire.
Que diriez-vous de quelque chose comme ça? Tadaa! P> Il devrait être assez rapide aussi. P> En outre, il s'agit de la sortie: 2012: 02: 10 15: 44: 55.939 Code> - Pourquoi n'utilisez-vous pas - pour délimiter la partie de date me bat. P> p>
Merci mec ..... Grand travail. Vous êtes le meilleur, car IAM recherche une semaine d'Internet n'a pas de solution.
Bonjour Westie J'avais toujours un problème que l'heure était de 2 heures plus rapide ... Exemple 22: 07: 45.434 Une heure devrait être de 20 heures.
C'est un problème avec votre serveur - vous devrez définir le fuseau horaire.
@Westie devrait quitter Pad $ reste code> avec des zéros s'il a moins de 3 chiffres. Par exemple, si $ mil = 1328910295039 code>, la sortie doit être 2012: 02: 10 21: 44: 55.039 Code>, pas 2012: 02: 10 21:44 : 55.39 code>.
$t = 1328910295939;
echo date('Y-m-d H:i:s.', substr($t, 0, -3)) . substr($t, -3);
Output: 2012-02-10 16:44:55.939 (it depends on the timezone)
Parce que ces réponses étaient toutes assez amusantes dans leur complexité, voici une autre réponse em> pour la future postérité qui utilise le code d'origine de l'Asker et ne traite pas les nombres en tant que chaînes. 1328910295939
1328910295
939
2012:02:10 16:44:55.939