Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datumsformat mit 6 Nachkommastellen für Sekunden

1 view
Skip to first unread message

Thomas Wiedmann

unread,
Dec 12, 2009, 5:46:14 AM12/12/09
to
Hallo,

mit welchem Statement kann man den aktuellen Timestamp mit exakt 6
Nachkommastellen f�r Sekunden anzeigen?
Mit

echo `date -u "+%Y-%m-%d %T.%N"`

erhalte ich 9 Nachkommastellen. Ich brauche aber 6.


Thomas Wiedmann

Sebastian Jakobeit

unread,
Dec 12, 2009, 5:59:37 AM12/12/09
to
Thomas Wiedmann wrote:

> echo `date -u "+%Y-%m-%d %T.%N"`

echo `date -u "+%Y-%m-%d %T.%6N"`

MfG

Thomas Wiedmann

unread,
Dec 12, 2009, 6:34:46 AM12/12/09
to
> echo `date -u "+%Y-%m-%d %T.%6N"`

Danke für die Info.

Thomas

Michael Mauch

unread,
Dec 12, 2009, 7:54:41 AM12/12/09
to
Thomas Wiedmann wrote:
>> echo `date -u "+%Y-%m-%d %T.%6N"`
>
> Danke fᅵr die Info.

date -u "+%Y-%m-%d %T.%6N"


Michael

Christian Weisgerber

unread,
Dec 12, 2009, 12:52:30 PM12/12/09
to
Michael Mauch <michae...@gmx.de> wrote:

> date -u "+%Y-%m-%d %T.%6N"

2009-12-12 17:52:14.6N

--
Christian "naddy" Weisgerber na...@mips.inka.de

Paul Hink

unread,
Dec 12, 2009, 4:58:26 PM12/12/09
to
Christian Weisgerber <na...@mips.inka.de> wrote:

> Michael Mauch <michae...@gmx.de> wrote:
>
>> date -u "+%Y-%m-%d %T.%6N"
>
> 2009-12-12 17:52:14.6N

Daran wird aber h�chstwahrscheinlich auch kein echo davor was �ndern.

Juergen Ilse

unread,
Dec 12, 2009, 5:33:58 PM12/12/09
to
Hallo,

Christian Weisgerber <na...@mips.inka.de> wrote:
> Michael Mauch <michae...@gmx.de> wrote:
>> date -u "+%Y-%m-%d %T.%6N"
> 2009-12-12 17:52:14.6N

Ja, es ist aergerlich, wenn "Gnu-only" Eigenschaften verwendet werden,
ohne explizit darauf hinzuweisen ...

Tschuess,
Juergen Ilse (jue...@usenet-verwaltung.de)
--
Ein Domainname (auch wenn er Teil einer Mailadresse ist) ist nur ein Name,
nicht mehr und nicht weniger ...

Thomas Wiedmann

unread,
Dec 19, 2009, 3:08:36 PM12/19/09
to
>>> date -u "+%Y-%m-%d %T.%6N"
>> 2009-12-12 17:52:14.6N

Welche Alternativen gibt es, wenn date -u "+%Y-%m-%d %T.%6N" nicht geht, d.
h. keine 6 Nachkommastellen, sondern stattdessen 6N liefert?

Thomas Wiedmann
.

Thomas Rachel

unread,
Dec 19, 2009, 3:48:58 PM12/19/09
to
Thomas Wiedmann schrieb:

Mit date(1) gar keine. Da könnte man dann perl oder python ins Spiel
bringen. Letzteres ginge etwa so:

python -c 'import datetime; n=datetime.datetime.now(); print
n.strftime("%Y-%m-%d %T")+".%06d"%n.microsecond'


HTH,

Thomas

Florian Diesch

unread,
Dec 19, 2009, 4:45:09 PM12/19/09
to
"Thomas Wiedmann" <th...@gmx.de> writes:

printf '%s-%s-%s %s:%s:%.6f\n' $(date -u "+%Y %m %d %H %M %S.%N")

Florian
--
<http://www.florian-diesch.de/software/shell-scripts/>

Christian Weisgerber

unread,
Dec 19, 2009, 8:22:13 PM12/19/09
to
Florian Diesch <die...@spamfence.net> wrote:

> > Welche Alternativen gibt es, wenn date -u "+%Y-%m-%d %T.%6N" nicht
> > geht, d. h. keine 6 Nachkommastellen, sondern stattdessen 6N liefert?
>
> printf '%s-%s-%s %s:%s:%.6f\n' $(date -u "+%Y %m %d %H %M %S.%N")

ᅵ S'ils n'ont pas de pain, qu'ils mangent de la brioche ! ᅵ

Juergen P. Meier

unread,
Dec 20, 2009, 2:01:55 AM12/20/09
to
Thomas Rachel <nutznetz-drei-...@spamschutz.glglgl.net>:

> Thomas Wiedmann schrieb:
>>>>> date -u "+%Y-%m-%d %T.%6N"
>>>> 2009-12-12 17:52:14.6N
>>
>> Welche Alternativen gibt es, wenn date -u "+%Y-%m-%d %T.%6N" nicht geht,
>> d. h. keine 6 Nachkommastellen, sondern stattdessen 6N liefert?
>
> Mit date(1) gar keine. Da kᅵnnte man dann perl oder python ins Spiel

> bringen. Letzteres ginge etwa so:
>
> python -c 'import datetime; n=datetime.datetime.now(); print
> n.strftime("%Y-%m-%d %T")+".%06d"%n.microsecond'

Erstmal brauchst du eine Zeitquelle, die die Zeit ueberhaupt in
passender Genauigkeit liefert.

Du kannst froh sein, wenn die Zeit Mikrosekundengenau ist, dann
brauchst du gerade mal 3 Nachkommastellen pro SEkunde, alle weiteren
Stellen enthalten wenn nur Muell.

In Shell geht das sowieso nicht portabel. Nimm Perl oder Python.

Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)

Juergen P. Meier

unread,
Dec 20, 2009, 2:06:39 AM12/20/09
to
Florian Diesch <die...@spamfence.net>:

> "Thomas Wiedmann" <th...@gmx.de> writes:
>
>>>>> date -u "+%Y-%m-%d %T.%6N"
>>>> 2009-12-12 17:52:14.6N
>>
>> Welche Alternativen gibt es, wenn date -u "+%Y-%m-%d %T.%6N" nicht
>> geht, d. h. keine 6 Nachkommastellen, sondern stattdessen 6N liefert?
>
> printf '%s-%s-%s %s:%s:%.6f\n' $(date -u "+%Y %m %d %H %M %S.%N")

$ printf '%s-%s-%s %s:%s:%.6f\n' $(date -u "+%Y %m %d %H %M %S.%N")
-bash: printf: 41.N: invalid number
2009-12-20 07:06:0.000000


Die kanonische Loesung lautet eh:

date -u "+%Y-%m-%d %T.000000"

Die portable Loesung ist in Shell nicht moeglich.

Juergen

Florian Diesch

unread,
Dec 20, 2009, 8:03:46 AM12/20/09
to
"Juergen P. Meier" <nospa...@jors.net> writes:

> Florian Diesch <die...@spamfence.net>:
>> "Thomas Wiedmann" <th...@gmx.de> writes:
>>
>>>>>> date -u "+%Y-%m-%d %T.%6N"
>>>>> 2009-12-12 17:52:14.6N
>>>
>>> Welche Alternativen gibt es, wenn date -u "+%Y-%m-%d %T.%6N" nicht
>>> geht, d. h. keine 6 Nachkommastellen, sondern stattdessen 6N liefert?
>>
>> printf '%s-%s-%s %s:%s:%.6f\n' $(date -u "+%Y %m %d %H %M %S.%N")
>
> $ printf '%s-%s-%s %s:%s:%.6f\n' $(date -u "+%Y %m %d %H %M %S.%N")
> -bash: printf: 41.N: invalid number
> 2009-12-20 07:06:0.000000

So wie ich <hfvs9t$vp9$1...@online.de> verstehe, wird %N von seinem date unterst�tzt


> Die portable Loesung ist in Shell nicht moeglich.

Jedenfalls solange man "erzeuge C code, kompiliere ihn und f�hre das
Compilat aus" nicht als "in Shell" bezeichnet.


Florian
--
<http://www.florian-diesch.de/doc/emacs/>

Juergen P. Meier

unread,
Dec 21, 2009, 12:50:37 AM12/21/09
to
Florian Diesch <die...@spamfence.net>:

>> Die portable Loesung ist in Shell nicht moeglich.
>
> Jedenfalls solange man "erzeuge C code, kompiliere ihn und fᅵhre das

> Compilat aus" nicht als "in Shell" bezeichnet.

Nichtmal das ist Portabel, denn POSIX-Systeme haben nicht zwingend
Zeitgeber die die Zeit auf Nanosekunden genau ausgeben koennen.

Mikrosekunden (3 Nachkommastellen) ist das hoechste was du portabel
unter UNIX hinbekommst.

Laurianne Gardeux

unread,
Dec 21, 2009, 6:15:35 AM12/21/09
to
Juergen P. Meier à écrit :

> Mikrosekunden (3 Nachkommastellen) ist das hoechste was du portabel
> unter UNIX hinbekommst.

Wo ist denn die Millisekunde?

LG

Stefan Reuther

unread,
Dec 21, 2009, 6:12:52 AM12/21/09
to

Also bei mir sind Mikrosekunden ja 6 Nachkommastellen, Nanosekunden wᅵren 9.


Stefan

Juergen P. Meier

unread,
Dec 21, 2009, 10:09:32 AM12/21/09
to
Stefan Reuther <stefa...@arcor.de>:

*Seufz* Ja, du hast recht.

Thomas Wiedmann

unread,
Dec 24, 2009, 6:48:26 AM12/24/09
to
> So wie ich <hfvs9t$vp9$1...@online.de> verstehe, wird %N von seinem date
> unterst�tzt

Auf einem Rechner (System) ja, auf einem anderen jedoch nicht.
Bleibt in diesem Fall also offensichtlich leider nur die von J. Meier
vorgeschlagene "kanonische L�sung", wenn 6 Nachkommastellen (�s) dabei sein
sollen:
date -u "+%Y-%m-%d %T.000000"

Thomas Wiedmann

0 new messages