[PHP] Van UTC(?) naar UNIX timestamp

Pagina: 1
Acties:
  • 110 views sinds 30-01-2008
  • Reageer

Onderwerpen


  • Beekforel
  • Registratie: November 2001
  • Laatst online: 21:00

Beekforel

Is eigenlijk geen vis

Topicstarter
Ik heb een tabel met gegevens, waarbij de timestamp in het UTC formaat staat.
20051011172904 bijvoorbeeld dus.

Nou dacht ik makkelijk SELECT *,UNIX_TIMESTAMP(timestamp) AS timestamp FROM table; maar dan krijg ik dus een totaal andere timestamp terug. Blijkt dat die stamp nog weer anders is ofzo.
Ik ben er uiteindelijk achter gekomen dat het een UTC timestamp is...
SELECT *,UTC_TIMESTAMP(timestamp) AS timestamp FROM table; gaat helaas niet op, UTC_TIMESTAMP is zonder arguments.
Is er een manier om die irritante timestamp naar een fijne unix timestamp om te zetten?

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
Kan je niets met strtotime? Anders kan je natuurlijk altijd je oude timestamp splitten en daar een nieuwe van maken.

edit:
Even getest, strtotime werkt niet hiermee...


[edit2]
strtotime('20051011 1729') werkt wel (bron), maar zodra ik er secondes achter zet gaat het niet meer. Maar dit werkt wel :Y)
PHP:
1
2
3
4
5
6
<?php

    $string = '20051011172904';
    echo date('d-m-Y H:i:s', strtotime(substr($string, 0, 8).' '.substr($string, 8, 4)) + substr($string, 12, 2));

?>

Of wil je het in MySQL doen? Blijkt niet duidelijk uit je titel + bericht

[ Voor 95% gewijzigd door sjroorda op 24-11-2005 12:00 ]


  • Beekforel
  • Registratie: November 2001
  • Laatst online: 21:00

Beekforel

Is eigenlijk geen vis

Topicstarter
Of het met MySQL of met PHP gebeurd maakt op zich niet veel uit.

Het probleem is dat ik met UNIX timestamp werk in mijn functies maar nu van een bepaald stukje software die andere stamp voorgeschoteld krijg. Ik heb niet zoveel trek om m'n functies te gaan herschrijven etc...

@ sjroorda: 13-10-2005 14:02:12 komt er uit als ik die code van jou gebruik. :?

[ Voor 14% gewijzigd door Beekforel op 24-11-2005 12:41 ]


Verwijderd

Beekforel schreef op donderdag 24 november 2005 @ 12:02:
@ sjroorda: 13-10-2005 14:02:12 komt er uit als ik die code van jou gebruik. :?
Het UTC Time Format schrijft voor dat de maand 3 letterig moet zijn (Jan, Feb, enz.). In het voorbeeld van Sjroorda gebruikt hij "m" voor maand, wat dus niet klopt. Verander deze "m" eens in "M".

edit: Mocht je het in MySQL willen doen, zorg dan dat je deze UTC Time Format converteerd naar een MySQL-date, waarna je hem met TIMESTAMP direct weer kan converteren naar een bruikbare timestamp.

[ Voor 20% gewijzigd door Verwijderd op 24-11-2005 12:59 ]


  • sjroorda
  • Registratie: December 2001
  • Laatst online: 20:03
Beekforel schreef op donderdag 24 november 2005 @ 12:02:
@ sjroorda: 13-10-2005 14:02:12 komt er uit als ik die code van jou gebruik. :?
Vreemd? Bij mij komt er wel gewoon 11-10-2005 17:29:04 uit! Zou het iets te maken kunnen hebben met onderliggend besturingssysteem (is een systeemfunctie die door PHP wordt gebruikt)?
Verwijderd schreef op donderdag 24 november 2005 @ 12:56:
Het UTC Time Format schrijft voor dat de maand 3 letterig moet zijn (Jan, Feb, enz.). In het voorbeeld van Sjroorda gebruikt hij "m" voor maand, wat dus niet klopt. Verander deze "m" eens in "M".
Dat is hier niet van toepassing: het gaat hier om het omzetten van 20051011172904 naar 1129044544. Ik gooi er alleen een date() overheen om het geheel wat leesbaarder te maken (en om te kijken of de uitkomst klopte).

Verwijderd

sjroorda schreef op donderdag 24 november 2005 @ 13:03:
[...]

Dat is hier niet van toepassing: het gaat hier om het omzetten van 20051011172904 naar 1129044544. Ik gooi er alleen een date() overheen om het geheel wat leesbaarder te maken (en om te kijken of de uitkomst klopte).
Klopt, excuses moi :)

  • Beekforel
  • Registratie: November 2001
  • Laatst online: 21:00

Beekforel

Is eigenlijk geen vis

Topicstarter
Ok er gaat iets mis, even testen. Je code klopt wel sjroorda.

Bedankt sjroorda, het werkt! :)

ik dacht dat het fout ging maar het klopte wel, verkeerde record uit de tabel nagekeken. :X

[ Voor 60% gewijzigd door Beekforel op 24-11-2005 13:17 ]

Pagina: 1