Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

...εφαρμογές για οτιδήποτε άλλο

Συντονιστής: konnn

Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

Δημοσίευσηαπό DimitrisKatsk » 21 Φεβ 2014, 07:39

Καλημέρα,

Υπάρχει τρόπος να βλέπω την ώρα με ακρίβεια χιλιοστών του δευτερολέπτου; Ή κάποιο πρόγραμμα που να δείχνει την ώρα με τέτοιο τρόπο.

Κάτι ανάλογο με αυτό θέλω αλλά σε πρόγραμμα ή στην ώρα του υπολογιστή: http://flash-clocks.com/blog/?p=558
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-30-generic 64bit (en_US.UTF-8), Ubuntu 3.2.0-29-generic
3 Intel Core i5-2410M CPU @ 2.30GHz ‖ RAM 7966 MiB ‖ Intel Oneonta Falls - TOSHIBA SATELLITE L775-11K
4 nVidia Device [10de:0dec] (rev a1)
5 eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06) ⋮ wlan0: Atheros Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)
DimitrisKatsk
babeTUX
babeTUX
 
Δημοσιεύσεις: 16
Εγγραφή: 10 Σεπ 2012, 22:21
Εκτύπωση

Re: Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

Δημοσίευσηαπό kamar » 21 Φεβ 2014, 15:25

Δες αν αυτό σε εξυπηρετεί.

Από τερματικό:
Κώδικας: Επιλογή όλων
date +%x\ %H:%M:%S:%N
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-91-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD A6-5400K APU with Radeon HD Graphics ‖ RAM 3347 MiB ‖ ASUS F2A55-M LK2 PLUS
4 Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7540D] [1002:9991] {radeon}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
Άβαταρ μέλους
kamar
punkTUX
punkTUX
 
Δημοσιεύσεις: 166
Εγγραφή: 10 Μάιος 2008, 20:24
Τοποθεσία: Χανιά
Εκτύπωση

Re: Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

Δημοσίευσηαπό DimitrisKatsk » 21 Φεβ 2014, 18:58

Σε ευχαριστώ φίλε μου,

η αλήθεια είναι ότι δεν μπορώ να βγάλω άκρη. Αν γινόταν να τρέχει στο terminal η ώρα και να είναι συγχρονισμένη με αυτή του υπολογιστή θα ήταν ότι το καλύτερο.
1 Γνώσεις Linux: Πρώτα βήματα ┃ Προγραμματισμού: Πρώτα βήματα ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-30-generic 64bit (en_US.UTF-8), Ubuntu 3.2.0-29-generic
3 Intel Core i5-2410M CPU @ 2.30GHz ‖ RAM 7966 MiB ‖ Intel Oneonta Falls - TOSHIBA SATELLITE L775-11K
4 nVidia Device [10de:0dec] (rev a1)
5 eth0: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06) ⋮ wlan0: Atheros Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)
DimitrisKatsk
babeTUX
babeTUX
 
Δημοσιεύσεις: 16
Εγγραφή: 10 Σεπ 2012, 22:21
Εκτύπωση

Re: Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

Δημοσίευσηαπό matthew » 21 Φεβ 2014, 20:16

Υπάρχουν τρόποι να φαίνεται η ώρα στο τερματικό, αλλά χωρίς χιλιοστά πάλι.
http://ubuntu-for-humans.blogspot.gr/20 ... buntu.html
http://tuxtweaks.com/2012/01/creating-a ... ndow-clock
Η καθυστέρηση στο τερματικό οφείλεται στην καθυστέρηση μέχρι να εκτελεστεί η εντολή & να προβληθεί στην οθόνη η έξοδος. Πχ, δίνοντας:
Κώδικας: Επιλογή όλων
time clear; while true; do echo -e \\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b\\b`date +%r` \\c ; sleep 1; done

παίρνω στην έξοδο
Κώδικας: Επιλογή όλων
real 0m0.002s
user 0m0.010s
sys 0m0.000s
07:04:58 μμ

που σημαίνει ότι υπάρχει καθυστέρηση 10 + 2 = 12 millisecond μέχρι την εκτέλεση + την καθυστέρηση προβολής στην οθόνη από τη gpu, οπότε γι' αυτό δεν υπάρχει συγχρονισμός.
Πάντως οι προγραμματιστές σκέφτηκαν (& έχουν δίκιο) ότι δεν έχει νόημα να φαίνεται η ώρα πέρα από δευτερόλεπτα, πχ σε millisecond. Τέτοια ακρίβεια χρειάζεται μόνο σε χρονομετρήσεις.
Γνώσεις Linux: Βασικές ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
Άβαταρ μέλους
matthew
saintTUX
saintTUX
 
Δημοσιεύσεις: 1346
Εγγραφή: 25 Αύγ 2008, 01:35
Εκτύπωση

Re: Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

Δημοσίευσηαπό Learner » 21 Φεβ 2014, 20:48

Εδώ είναι μάλλον η απάντηση στο ερώτημά σου: http://stackoverflow.com/questions/1654 ... lliseconds

Για milliseconds δίνεις ότι είπε ο @kamar παραπάνω, αλλά με μια μικρή διαφορά

Κώδικας: Επιλογή όλων
date +%x\ %H:%M:%S:%3N


3Ν αντί Ν.

Οπότε με την εντολή
Κώδικας: Επιλογή όλων
watch -n 0.1 "date +%x\ %H:%M:%S:%3N"

παίρνεις ένα αποτέλεσμα σαν αυτό που θέλεις.

Αν θες να το βλέπεις σε conky , τότε θα πρέπει στο .conkyrc να βάλεις δυο παραμέτρους

Το
Κώδικας: Επιλογή όλων
update_interval 0.1


Και η εντολή που θα δείχνει την ώρα να είναι
Κώδικας: Επιλογή όλων
${execi 0.01 date +%x\ %H:%M:%S:%3N|awk '{print $2}'}
About Me
NickTux@GitHub

Spoiler: show
1. Ubuntu 18.04 LTS
2. Intel Core i3 CPU M 380 2.53GHz ‖ RAM 6GB ‖ Acer Aspire 5733
3. Intel Integrated Graphics [8086:0046] {i915}
4. wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Άβαταρ μέλους
Learner
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 9766
Εγγραφή: 08 Νοέμ 2010, 21:24
Τοποθεσία: Αθήνα
Launchpad: nicktux
IRC: NickTux
Εκτύπωση

Re: Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

Δημοσίευσηαπό kamar » 21 Φεβ 2014, 20:50

Κάτι γρήγορο με τα υλικά που υπάρχουν στο Ubuntu:

Κώδικας: Επιλογή όλων
#!/usr/bin/env python3
#-*- coding: utf-8 -*-

from datetime import datetime
from tkinter import *
from tkinter import Tk

root = Tk()
root.title('Ρολόι σε Tkinter')
root.geometry("220x80+0+0")
root.wm_attributes("-topmost", 1)

frm = Frame(root)
frm.configure(padx=3, pady=3)
frm.pack(fill=BOTH, expand=1)

thetime = StringVar()

def clockit():
while True:
thetime.set(datetime.strftime(datetime.now(), '%H:%M:%S.%f')[:-3])
root.after(1)
try:
root.update()
except TclError:
break

clockl = Label(frm, textvariable=thetime, font=("Helvetica", 16, "bold"))
clockl.pack(side=TOP, fill=BOTH)

tb = Button(frm, text='Έξοδος', command=root.destroy)
tb.pack(side=BOTTOM)
clockit()
root.mainloop()


Σώσε τον κώδικα σε ένα αρχείο πχ. clock.py, και από την γραμμή εντολών δώσε: python3 clock.py.
Αν θέλεις να γίνει εκτελέσιμο: chmod +x clock.py. Για να εκτελεστεί: ./clock.py ή διπλό κλικ.

Αν γνωρίζεις λίγη python, φέρνεις τον κώδικα στα μέτρα σου.
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-91-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD A6-5400K APU with Radeon HD Graphics ‖ RAM 3347 MiB ‖ ASUS F2A55-M LK2 PLUS
4 Advanced Micro Devices, Inc. [AMD/ATI] Trinity [Radeon HD 7540D] [1002:9991] {radeon}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
Άβαταρ μέλους
kamar
punkTUX
punkTUX
 
Δημοσιεύσεις: 166
Εγγραφή: 10 Μάιος 2008, 20:24
Τοποθεσία: Χανιά
Εκτύπωση

Re: Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

Δημοσίευσηαπό matthew » 21 Φεβ 2014, 22:40

Learner έγραψε:Οπότε με την εντολή
Κώδικας: Επιλογή όλων
watch -n 0.1 "date +%x\ %H:%M:%S:%3N"

παίρνεις ένα αποτέλεσμα σαν αυτό που θέλεις.

Σε μένα βγάζει σφάλμα:

Κώδικας: Επιλογή όλων
Usage: watch [-bdhnptvx] [--beep] [--differences[=cumulative]] [--exec] [--help] [--interval=<n>] [--no-title] [--version] <command>

ενώ με αυτή

Κώδικας: Επιλογή όλων
watch -n 1 "date +%x\ %H:%M:%S:%3N"

δείχνει τα millisecond αλλά δεν "τρέχουν" συνέχεια. Είναι στάσιμα & απλά δείχνει τη τιμή τους τη χρονική στιγμή που γίνεται η ανανέωση, κάθε δευτερόλεπτο δηλαδή.
Προφανώς για να τρέχουν συνέχεια πρέπει να γίνεται ανανέωση κάθε 1 millisecond. Δεν γνωρίζω αν είναι εφικτό κάτι τέτοιο, καθώς σε δοκιμές που έκανα με την εντολή κάτω από 1 δεύτερο (πχ 0.001 για ανανέωση κάθε χιλιοστό) παίρνω το παραπάνω σφάλμα...
Γνώσεις Linux: Βασικές ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
Άβαταρ μέλους
matthew
saintTUX
saintTUX
 
Δημοσιεύσεις: 1346
Εγγραφή: 25 Αύγ 2008, 01:35
Εκτύπωση

Re: Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

Δημοσίευσηαπό Learner » 21 Φεβ 2014, 23:23

matthew έγραψε:Σε μένα βγάζει σφάλμα:

Μήπως φταίει η έκδοση ;
Κώδικας: Επιλογή όλων
watch --version
watch from procps-ng 3.3.3


matthew έγραψε:ενώ με αυτή...
.....
δείχνει τα millisecond αλλά δεν "τρέχουν" συνέχεια.

Λογικό είναι αυτό, αφού δίνεις 1 δευτερόλεπτο παρακολούθησης. Έτσι δεν έχει νόημα. Ενώ με το 0.1 δίνεις πολύ λιγότερο, οπότε εκεί φαίνονται τα milliseconds να τρέχουν κανονικά.

Από το
Κώδικας: Επιλογή όλων
man watch

διαβάζουμε
έγραψε:
-n, --interval seconds
Specify update interval. The command will not allow quicker
than 0.1 second interval, in which the smaller values are con‐
verted.
About Me
NickTux@GitHub

Spoiler: show
1. Ubuntu 18.04 LTS
2. Intel Core i3 CPU M 380 2.53GHz ‖ RAM 6GB ‖ Acer Aspire 5733
3. Intel Integrated Graphics [8086:0046] {i915}
4. wlan0: Atheros Inc. AR9485 Wireless Network Adapter [168c:0032] (rev 01)
Άβαταρ μέλους
Learner
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 9766
Εγγραφή: 08 Νοέμ 2010, 21:24
Τοποθεσία: Αθήνα
Launchpad: nicktux
IRC: NickTux
Εκτύπωση

Re: Εμφάνιση ώρας με χιλιοστά του δευτερολέπτου

Δημοσίευσηαπό matthew » 22 Φεβ 2014, 00:49

Ok, σίγουρα είναι παλιά έκδοση (0.2.0) καθώς το δοκίμασα σε 10.04.
Γνώσεις Linux: Βασικές ┃ Προγραμματισμός: Όχι ┃ Αγγλικά: Καλά
Άβαταρ μέλους
matthew
saintTUX
saintTUX
 
Δημοσιεύσεις: 1346
Εγγραφή: 25 Αύγ 2008, 01:35
Εκτύπωση


Επιστροφή στο Εφαρμογές Άλλες-Διάφορες