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
> echo `date -u "+%Y-%m-%d %T.%N"`
echo `date -u "+%Y-%m-%d %T.%6N"`
MfG
Danke für die Info.
Thomas
date -u "+%Y-%m-%d %T.%6N"
Michael
> date -u "+%Y-%m-%d %T.%6N"
2009-12-12 17:52:14.6N
--
Christian "naddy" Weisgerber na...@mips.inka.de
> 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.
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 ...
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
.
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
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/>
> > 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 ! ᅵ
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)
$ 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 <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/>
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.
> Mikrosekunden (3 Nachkommastellen) ist das hoechste was du portabel
> unter UNIX hinbekommst.
Wo ist denn die Millisekunde?
LG
Also bei mir sind Mikrosekunden ja 6 Nachkommastellen, Nanosekunden wᅵren 9.
Stefan
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