Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.php > #4088 > unrolled thread
| Started by | Ralph Stahl <post@rstahl.de> |
|---|---|
| First post | 2017-04-03 13:43 +0200 |
| Last post | 2017-04-06 09:18 +0200 |
| Articles | 10 — 5 participants |
Back to article view | Back to de.comp.lang.php
date() Parameter Z Ralph Stahl <post@rstahl.de> - 2017-04-03 13:43 +0200
Re: date() Parameter Z Niels Braczek <nbraczek@freenet.de> - 2017-04-03 13:58 +0200
Re: date() Parameter Z Ralph Stahl <post@rstahl.de> - 2017-04-03 14:08 +0200
Re: date() Parameter Z Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2017-04-03 12:47 +0000
Re: date() Parameter Z Ralph Stahl <post@rstahl.de> - 2017-04-03 15:58 +0200
Re: date() Parameter Z "Christoph M. Becker" <cmbecker69@arcor.de> - 2017-04-03 17:36 +0200
Re: date() Parameter Z Ralph Stahl <post@rstahl.de> - 2017-04-03 18:53 +0200
Re: date() Parameter Z Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-04-05 22:30 +0200
Re: date() Parameter Z Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-04-05 22:51 +0200
Re: date() Parameter Z Ralph Stahl <post@rstahl.de> - 2017-04-06 09:18 +0200
| From | Ralph Stahl <post@rstahl.de> |
|---|---|
| Date | 2017-04-03 13:43 +0200 |
| Subject | date() Parameter Z |
| Message-ID | <obtcbq$299$1@dont-email.me> |
Mahlzeit!
In einer Vorgabe des Auftraggebers soll ein Datum/Zeit-String dieser
Gestalt erzeugt werden:
'2017-04-03T10:00:07.766Z'
Niemand dort ist in der Lage, die Bedeutung von '.766Z' zu erklären :-(
(toll, nicht wahr). Tausendstel Sekunden haben keinen Sinn, die werden
nicht erzeugt. Das Z ist sicher nicht der Parameter Z, der für den
Formatstring als Kennzeichen für den Zeitoffset bezüglich der Zeitzone.
Wie ich die 766 (variabel) erzeugen sollte, weiß ich nicht - keine
Ahnung, was das ist.
Hat jemand sowas schonmal gesehen? Ich wüßte nicht, wonach ich suchen
sollte.
Genau genommen lautet die Aufgabe, einen Zeitstring mit Berliner
Sommerzeit zu erzeugen. Also üblicherweise sowas wie
date('Y-m-dTH:i:s', time() - date('Z'));
// die Korrektur, weil der Webserver mit GMT läuft und *dessen* Zeit
gebraucht wird
Aber es sollen eben diese ominösen 5 Zeichen hinten dran hängen, die
keiner erklären kann...
Danke im Voraus,
Ralph
[toc] | [next] | [standalone]
| From | Niels Braczek <nbraczek@freenet.de> |
|---|---|
| Date | 2017-04-03 13:58 +0200 |
| Message-ID | <obtddp$d3s$1@news.albasani.net> |
| In reply to | #4088 |
Am 03.04.2017 um 13:43 schrieb Ralph Stahl: > Mahlzeit! > > In einer Vorgabe des Auftraggebers soll ein Datum/Zeit-String dieser > Gestalt erzeugt werden: > > '2017-04-03T10:00:07.766Z' .766 ist tatsächlich der Sekundenbruchteitl. Das Z steht für Zulu Time (gleichbedeutend mit UTC). MfG Niels -- | New Stars on the Horizon: GreenCape · nibralab · laJoom | | http://www.bsds.de · BSDS Braczek Software- und DatenSysteme | | Webdesign · Webhosting · e-Commerce · Joomla! Content Management | ------------------------------------------------------------------
[toc] | [prev] | [next] | [standalone]
| From | Ralph Stahl <post@rstahl.de> |
|---|---|
| Date | 2017-04-03 14:08 +0200 |
| Message-ID | <obtdpl$7d9$1@dont-email.me> |
| In reply to | #4089 |
Niels Braczek schrieb: > Am 03.04.2017 um 13:43 schrieb Ralph Stahl: >> Mahlzeit! >> >> In einer Vorgabe des Auftraggebers soll ein Datum/Zeit-String dieser >> Gestalt erzeugt werden: >> >> '2017-04-03T10:00:07.766Z' > > ..766 ist tatsächlich der Sekundenbruchteitl. Das Z steht für Zulu Time > (gleichbedeutend mit UTC). > > MfG > Niels > 8-) ! Und wie erzeuge ich die nicht gemessenen 1/1000 Sekunden im Formatstring??? Abgesehen davon, dass die Anwendung auch ohne diesen Unfug zu funktionieren scheint. Zulu Time https://www.timeanddate.com/time/zones/z, nie gehört, danke! Ralph
[toc] | [prev] | [next] | [standalone]
| From | Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) |
|---|---|
| Date | 2017-04-03 12:47 +0000 |
| Message-ID | <1t58e243b4i7814n3e8%sfroehli@Froehlich.Priv.at> |
| In reply to | #4090 |
On Mon, 03 Apr 2017 14:08:10 Ralph Stahl wrote:
> Niels Braczek schrieb:
> > Am 03.04.2017 um 13:43 schrieb Ralph Stahl:
> >> '2017-04-03T10:00:07.766Z'
> > ..766 ist tatsächlich der Sekundenbruchteitl. Das Z steht für Zulu Time
> > (gleichbedeutend mit UTC).
> 8-) ! Und wie erzeuge ich die nicht gemessenen 1/1000 Sekunden im
> Formatstring???
Im Zweifelsfall mit "000", würde ich sagen, alternativ dazu geht bei einem
misstrauischen Auftraggeber natürlich auch sprintf('%03d', rand(0,999)).
Oder Du leitest die Sekundenbruchteile aus microtime() ab. Wie genau der
Zeitstempel tatsächlich sein muss, kann hier ja niemand einschätzen.
Servus,
Stefan
--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike
Stefan - der kultiviertste Quatsch, den es je gab.
(Sloganizer)
[toc] | [prev] | [next] | [standalone]
| From | Ralph Stahl <post@rstahl.de> |
|---|---|
| Date | 2017-04-03 15:58 +0200 |
| Message-ID | <obtk7l$thg$1@dont-email.me> |
| In reply to | #4091 |
Stefan Froehlich schrieb:
> On Mon, 03 Apr 2017 14:08:10 Ralph Stahl wrote:
>> Niels Braczek schrieb:
>>> Am 03.04.2017 um 13:43 schrieb Ralph Stahl:
>>>> '2017-04-03T10:00:07.766Z'
>
>>> ..766 ist tatsächlich der Sekundenbruchteitl. Das Z steht für Zulu Time
>>> (gleichbedeutend mit UTC).
>
>> 8-) ! Und wie erzeuge ich die nicht gemessenen 1/1000 Sekunden im
>> Formatstring???
>
> Im Zweifelsfall mit "000", würde ich sagen, alternativ dazu geht bei einem
> misstrauischen Auftraggeber natürlich auch sprintf('%03d', rand(0,999)).
>
> Oder Du leitest die Sekundenbruchteile aus microtime() ab. Wie genau der
> Zeitstempel tatsächlich sein muss, kann hier ja niemand einschätzen.
>
> Servus,
> Stefan
>
Ah, microtime ginge. 000 wäre "korrekt". Weglassen geht auch, wie ich
schon weiß :-). Vielleicht hat der Auftraggeber nur einen Traum gehabt...
Danke!
Ralph
[toc] | [prev] | [next] | [standalone]
| From | "Christoph M. Becker" <cmbecker69@arcor.de> |
|---|---|
| Date | 2017-04-03 17:36 +0200 |
| Message-ID | <obtq5d$5iv$1@solani.org> |
| In reply to | #4092 |
Am 03.04.2017 um 15:58 schrieb Ralph Stahl:
> Stefan Froehlich schrieb:
>
>> On Mon, 03 Apr 2017 14:08:10 Ralph Stahl wrote:
>>
>>> Niels Braczek schrieb:
>>>
>>>> Am 03.04.2017 um 13:43 schrieb Ralph Stahl:
>>>>
>>>>> '2017-04-03T10:00:07.766Z'
>>>>
>>>> ..766 ist tatsächlich der Sekundenbruchteitl. Das Z steht für Zulu Time
>>>> (gleichbedeutend mit UTC).
>>>
>>> 8-) ! Und wie erzeuge ich die nicht gemessenen 1/1000 Sekunden im
>>> Formatstring???
>>
>> Im Zweifelsfall mit "000", würde ich sagen, alternativ dazu geht bei einem
>> misstrauischen Auftraggeber natürlich auch sprintf('%03d', rand(0,999)).
Man muss sich halt zu helfen wissen. ;)
>> Oder Du leitest die Sekundenbruchteile aus microtime() ab. Wie genau der
>> Zeitstempel tatsächlich sein muss, kann hier ja niemand einschätzen.
>
> Ah, microtime ginge. 000 wäre "korrekt". Weglassen geht auch, wie ich
> schon weiß :-). Vielleicht hat der Auftraggeber nur einen Traum gehabt...
Ab PHP 7.1.0 sollte es eigentlich ganz einfach sein. Hier mal ohne
Berücksichtigung der Zeitzone:
(new DateTime)->format('Y-m-d\TH:i:s.v\Z')
Siehe <https://3v4l.org/X0H4C>. Die `000` unter 7.1.3 macht mich aber
stutzig – sollte besser überprüft werden.
--
Christoph M. Becker
[toc] | [prev] | [next] | [standalone]
| From | Ralph Stahl <post@rstahl.de> |
|---|---|
| Date | 2017-04-03 18:53 +0200 |
| Message-ID | <obtuh1$4af$1@dont-email.me> |
| In reply to | #4093 |
Christoph M. Becker schrieb:
> Am 03.04.2017 um 15:58 schrieb Ralph Stahl:
>
>> Stefan Froehlich schrieb:
>>
>>> On Mon, 03 Apr 2017 14:08:10 Ralph Stahl wrote:
>>>
>>>> Niels Braczek schrieb:
>>>>
>>>>> Am 03.04.2017 um 13:43 schrieb Ralph Stahl:
>>>>>
>>>>>> '2017-04-03T10:00:07.766Z'
>>>>>
>>>>> ..766 ist tatsächlich der Sekundenbruchteitl. Das Z steht für Zulu Time
>>>>> (gleichbedeutend mit UTC).
>>>>
>>>> 8-) ! Und wie erzeuge ich die nicht gemessenen 1/1000 Sekunden im
>>>> Formatstring???
>>>
>>> Im Zweifelsfall mit "000", würde ich sagen, alternativ dazu geht bei einem
>>> misstrauischen Auftraggeber natürlich auch sprintf('%03d', rand(0,999)).
>
> Man muss sich halt zu helfen wissen. ;)
>
>>> Oder Du leitest die Sekundenbruchteile aus microtime() ab. Wie genau der
>>> Zeitstempel tatsächlich sein muss, kann hier ja niemand einschätzen.
>>
>> Ah, microtime ginge. 000 wäre "korrekt". Weglassen geht auch, wie ich
>> schon weiß :-). Vielleicht hat der Auftraggeber nur einen Traum gehabt...
>
> Ab PHP 7.1.0 sollte es eigentlich ganz einfach sein. Hier mal ohne
> Berücksichtigung der Zeitzone:
>
> (new DateTime)->format('Y-m-d\TH:i:s.v\Z')
>
> Siehe <https://3v4l.org/X0H4C>. Die `000` unter 7.1.3 macht mich aber
> stutzig – sollte besser überprüft werden.
>
Aha, das v war mir neu, danke!
[toc] | [prev] | [next] | [standalone]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2017-04-05 22:30 +0200 |
| Message-ID | <5256459.lOV4Wx5bFT@PointedEars.de> |
| In reply to | #4093 |
Christoph M. Becker wrote:
> Ab PHP 7.1.0 sollte es eigentlich ganz einfach sein. Hier mal ohne
> Berücksichtigung der Zeitzone:
>
> (new DateTime)->format('Y-m-d\TH:i:s.v\Z')
>
> Siehe <https://3v4l.org/X0H4C>. Die `000` unter 7.1.3 macht mich aber
> stutzig – sollte besser überprüft werden.
Das muss nicht an PHP liegen. PHP kann nur die Zeit in der Genauigkeit
liefern, die das Betriebssystem bereitstellt.
--
PointedEars
Zend Certified PHP Engineer <http://www.zend.com/en/yellow-pages/ZEND024953>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.
[toc] | [prev] | [next] | [standalone]
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Date | 2017-04-05 22:51 +0200 |
| Message-ID | <4278388.31r3eYUQgx@PointedEars.de> |
| In reply to | #4090 |
Ralph Stahl wrote:
> Niels Braczek schrieb:
>> Am 03.04.2017 um 13:43 schrieb Ralph Stahl:
>>> In einer Vorgabe des Auftraggebers soll ein Datum/Zeit-String dieser
>>> Gestalt erzeugt werden:
>>>
>>> '2017-04-03T10:00:07.766Z'
>>
>> ..766 ist tatsächlich der Sekundenbruchteitl. Das Z steht für Zulu Time
>> (gleichbedeutend mit UTC).
>> […]
>
> 8-) ! Und wie erzeuge ich die nicht gemessenen 1/1000 Sekunden im
> Formatstring???
'.000', '.' . str_repeat('0', 3), … ;-)
> Abgesehen davon, dass die Anwendung auch ohne diesen
> Unfug zu funktionieren scheint.
Dann solltest Du mit dem Auftraggeber das Pflichtenheft diskutieren.
Wo nichts ist, kann/sollte auch nichts angegeben werden.
> Zulu Time https://www.timeanddate.com/time/zones/z, nie gehört, danke!
Ich kannte das schon.
Meine weitere Recherche hat aber ergeben, dass es “Zulu Time” heisst, weil
der Buchstabe “Z” im NATO-Alphabet mit “Zulu” buchstabiert wird, und die
Zeitzonen mit Buchstaben bezeichnet werden. [1] Da das Internet aus
Technologien, die zuerst im ARPANET der Advanced Research Projects Agency
(ARPA) des US-Verteidigungsministeriums verwendet wurden, entstanden ist,
verwundert mich die Verwendung militärischer Terminologie in Datumsformaten
für Internet-Protokolle nicht. Faszinierend.
Die Vermutung liegt nahe, dass jene Zeitzone mit “Z” bezeichnet wurde, weil
der Zeitunterschied zwischen “Zulu Time” und UTC exakt 0 (“zero”) ist. Es
könnte aber auch unbeabsichtigt geschehen sein, weil diese Zeitzone in der
Liste, die mit UTC+01:00 beginnt und sich in östlicher Richtung fortsetzt,
die letzte ist und somit auch den letzten Buchstaben erhalten hat (der
zufälligerweise auch der letzte des NATO-Alphabets ist). [2]
[1] <https://en.wikipedia.org/wiki/Coordinated_Universal_Time#Time_zones>
[2] <https://en.wikipedia.org/wiki/List_of_military_time_zones>
--
PointedEars
Zend Certified PHP Engineer <http://www.zend.com/en/yellow-pages/ZEND024953>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.
[toc] | [prev] | [next] | [standalone]
| From | Ralph Stahl <post@rstahl.de> |
|---|---|
| Date | 2017-04-06 09:18 +0200 |
| Message-ID | <oc4ptq$63d$1@dont-email.me> |
| In reply to | #4102 |
Thomas 'PointedEars' Lahn schrieb:
> Ralph Stahl wrote:
>
>> Niels Braczek schrieb:
>>> Am 03.04.2017 um 13:43 schrieb Ralph Stahl:
>>>> In einer Vorgabe des Auftraggebers soll ein Datum/Zeit-String dieser
>>>> Gestalt erzeugt werden:
>>>>
>>>> '2017-04-03T10:00:07.766Z'
>>>
>>> ..766 ist tatsächlich der Sekundenbruchteitl. Das Z steht für Zulu Time
>>> (gleichbedeutend mit UTC).
>>> […]
>>
>> 8-) ! Und wie erzeuge ich die nicht gemessenen 1/1000 Sekunden im
>> Formatstring???
>
> '.000', '.' . str_repeat('0', 3), … ;-)
Jaja, schon gut :-). _Das_ kann ich auch! Letzteres ist besonderes
akademisch ggg.
>
>> Abgesehen davon, dass die Anwendung auch ohne diesen
>> Unfug zu funktionieren scheint.
>
> Dann solltest Du mit dem Auftraggeber das Pflichtenheft diskutieren.
Das scheint das Hauptproblem bei diesem Projekt zu sein...
> Wo nichts ist, kann/sollte auch nichts angegeben werden.
>
>> Zulu Time https://www.timeanddate.com/time/zones/z, nie gehört, danke!
>
> Ich kannte das schon.
>
> Meine weitere Recherche hat aber ergeben, dass es “Zulu Time” heisst, weil
> der Buchstabe “Z” im NATO-Alphabet mit “Zulu” buchstabiert wird, und die
> Zeitzonen mit Buchstaben bezeichnet werden. [1] Da das Internet aus
> Technologien, die zuerst im ARPANET der Advanced Research Projects Agency
> (ARPA) des US-Verteidigungsministeriums verwendet wurden, entstanden ist,
> verwundert mich die Verwendung militärischer Terminologie in Datumsformaten
> für Internet-Protokolle nicht. Faszinierend.
>
> Die Vermutung liegt nahe, dass jene Zeitzone mit “Z” bezeichnet wurde, weil
> der Zeitunterschied zwischen “Zulu Time” und UTC exakt 0 (“zero”) ist. Es
> könnte aber auch unbeabsichtigt geschehen sein, weil diese Zeitzone in der
> Liste, die mit UTC+01:00 beginnt und sich in östlicher Richtung fortsetzt,
> die letzte ist und somit auch den letzten Buchstaben erhalten hat (der
> zufälligerweise auch der letzte des NATO-Alphabets ist). [2]
>
> [1] <https://en.wikipedia.org/wiki/Coordinated_Universal_Time#Time_zones>
> [2] <https://en.wikipedia.org/wiki/List_of_military_time_zones>
>
Schöner Ausflug in die Geschichte, danke!
Ralph
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.php
csiph-web