Vous savez que les API d'horloge / temps de votre langue sont brisées et qu'elles ne sont pas fiables du tout.
Par conséquent, vous n'êtes pas autorisé à utiliser une API intégrée pour accéder à l'heure / la date du système.
Mais vous savez également que la capacité de votre langue à effectuer le calcul des dates et à conserver une valeur de date / heure dans une variable est correcte.
Ecrivez un programme qui imprime la date / heure actuelle sans appeler les API de date / heure / horloge. Par exemple DateTime.Now
, GetDate()
les fonctions similaires ne sont pas autorisées.
La réponse avec le plus de votes positifs l'emporte.
En cas d'égalité, la réponse avec plus de précision l'emporte (c'est-à-dire précise à quelques secondes près, puis en millisecondes, puis en microsecondes, etc.).
la source
print(input("Please enter the current time"))
.Réponses:
Java
Presque toutes les solutions actuelles supposent qu'un ordinateur local / distant ne ment pas sur une heure actuelle (croyez-vous également au T-600?).
Le calcul du moment clé consiste à faire confiance à une nature pure .
Cette application Android demande à l'utilisateur de prendre une photo du ciel et de prédire l'heure actuelle avec une précision exceptionnelle:
Résultats:
la source
"There is no sky. Everyone's going to die"
: DRubis
Soyons honnêtes: le temps change seulement quand quelque chose est posté sur stackoverflow.com ;)
Le script extrait l'heure du libellé "Il y a XYs" dans la première question.
Sortie:
la source
Frapper
Comme ça? (nécessite
wget
etgrep
)La sortie que j'ai obtenue il y a quelques minutes:
Ou ca? (nécessite
wget
eteog
)La sortie que je reçois maintenant: (Image de xkcd )
carte du monde avec fuseau horaire http://c.xkcd.com/redirect/comic/now
la source
http://c.xkcd.com/redirect/comic/now
donne une image ethttp://xkcd.com/now
donne une page Web.sh / coreutils
Affiche la date dans un format quelque peu non standard:
YYYY-MM-DD hh:mm:ss.nanoseconds +timezone
Bien que j'imagine que cela pourrait dépendre des paramètres régionaux.
la source
cd $(mktemp -d)
set mtime to this
appels explicites qui se passe nulle parttouch
s’agit d’une fonction / commande de la bibliothèque car elle a l’effet secondaire souhaité.PHP
Exploiter le fait que
uniqid()
renvoie un identifiant basé sur l'heure.Au cours de mon test, il est revenu:
Year=2014 Days=79 Hours=18 Minutes=9 Seconds=49
.Je ne sais pas si je peux utiliser
date
pour formater correctement, alors je l'ai converti manuellement.la source
uniqid
fait toujours partie de votre langage ... Mais vous obtenezuniqid
utilisez une API de bas niveau, mais même lorsque vous demandez l'heure à un serveur externe, il y aura un appel de bas niveau à une API quelque part ...uniqid()
était cassé avant même que cette question ne soit posée. seules les API horloge / heure sont cassées dans cette questionDNS
Ne nous méfions que de notre propre machine? Si oui, cela compte-t-il?
Si cela ne compte pas, extraire le temps de la mise à jour DNS a certainement:
la source
Frapper
Juste pour être toujours absolument précis et correct:
ou motivant:
la source
absolutely precise
, exécuter la commande prendra toujours un peu de temps.echo "Then"
fonctionne pour cette exigence.curl - précis quel que soit votre taux de ping
la source
Python
Vous êtes sûr de ne pas savoir quelle heure il est?!? Voici un rappel:
la source
Python 2
Donc, l'horloge est correcte mais le temps API est fermé, non? Pourquoi ne pas vérifier l’horodatage d’un système de fichiers brut. Au lieu de créer un fichier de test, nous utilisons simplement notre propre horodatage d'accès, car le script doit être lu pour être exécuté (même s'il a été compilé). Précis à la seconde. *
Cela devrait être enregistré et exécuté en tant que
t.py
. Sinon, obtenez le nom du script au moment de l'exécution avecinspect.getfile(inspect.currentframe())
Remarque * Parfois précis à la seconde précédente .
la source
t.pyc
ou à lat.pyo
place?.py
fichier, même si le correspondant.pyc
est présent. Donc, cela fonctionne toujours correctement.Rubis
HTTP, mais en utilisant simplement les méta-données de réponse.
la source
ps
Vous ne pouvez pas
ps
dire l'heure? Ça peut!Le processus est lancé en arrière-plan et
ps
indique l'heure à laquelle le processus a démarré. Depuis que le processus a démarré en arrière-plan, l'heure de début du processus est à peu près identique à celle d'aujourd'hui.De plus, l'avantage est que l'heure est obtenue dans le fuseau horaire local. Et vous n'avez pas besoin d'une connexion Internet non plus!
la source
vba
parce que je ne devrais pas.
utiliser
?DateTime
pour utiliser, ou si vous le mettez dans Excel, alors=DateTime()
fonctionnera comme une formule.La date / heure est renvoyée à l'heure GMT - je le laisse comme un exercice futile de le convertir d'une chaîne en heure locale
la source
Bash +
last
+head
+cut
Précis à la seconde.
last
utilise le fichier journal/var/log/wtmp
EDIT: ajouté
head
pour limiter à une seule ligne.EDIT: Cela fonctionne sur Linux Mint 13 Cinnamon 64 bits, mais il semble que cela dépend de votre distribution.
sysvinit-utils
(qui fournitlast
) la version est2.88dsf-13.10ubuntu11.1
last
lue/var/log/wtmp
(dans mon cas), donc les résultats dépendent de ce fichier journal. Voir les commentaires ci-dessous.EDIT: Apparemment, cela dépend du temps de disponibilité du système afin que vous puissiez voir la preuve ici http://imgur.com/pqGGPmE
la source
last
dit l' homme «Le pseudo-utilisateur redémarre à chaque fois que le système redémarre.» (Et même cela ne semble pas être correct ici: pastebin.com/ArUaBcuY )-F
imprime les heures de connexion et de déconnexion complètes . Comme l'utilisateur actuel est toujours connecté, l'heure de déconnexion est l'heure actuelle. Ceci est sur Linux Mint 13 cannelle 64 bits. Cela peut dépendre des paramètres régionaux, mais j'en doute.Python
Obtenir une précision à la nanoseconde serait délicat à moins que l'heure renvoyée soit basée sur la fin du programme, et non sur son démarrage. Dans cet esprit, il est plus logique de calculer le temps en fonction de la fin du programme. Cela signifie que nous devons contrôler quand un programme cesse de fonctionner pour obtenir une précision supplémentaire.
Notez que cela suppose que tant que l'horloge python est bouchée, l'horloge bash ne l'est pas ou que l'horloge bash sait au moins quel jour elle est. Sinon, on peut plutôt utiliser ceci:
Peut-être un peu plus lent, cependant. Je ne l'ai pas testé.
la source
Brainfuck
Sortie:
Je pense que cela affiche l'heure à Denver au moment de l'écriture. L'explication de l'algorithme ici par cette vidéo d'Alan Jackson .
la source
Rubis
N'utilise pas l'API clock / time du langage.
la source
J'ai aimé l'idée de "lire à partir d'un serveur de temps". Améliore sa mise en forme et ajoute quelques villes pour le plaisir.
PHP
la source
Frapper
Merci au Goon Show . (En outre, c'est juste deux fois par jour!)
la source
C / WinAPI
Cela suppose que mes propres appels d'API d'interrogation de l'horloge sont rompus, mais que le système lui-même peut fonctionner correctement avec l'heure.
L'idée est de créer un fichier temporaire et de lire l'heure de création, ce qui, selon NTFS, est précis jusqu'à 10 ms. Notez que la mise en forme de la sortie est incertaine, mais c'est purement parce que je suis paresseux.
Sortie sur ma machine tout à l'heure:
Time is 10:39:45.790
la source
// NO ERROR CHECKING - that's left as an exercise for the reader
- Je ferais mieux de ne pas voir cela dans le code de productionLot
Écrit une ligne vierge dans le fichier de commandes (lui-même), puis vérifie la dernière heure d'écriture du fichier.
la source
HTML, CSS et Javascript / jQuery
Ok, donc je sais que ce n’est pas techniquement un programme, et qu’il ne rentre probablement pas dans les critères, mais dans seulement quelques heures, ce sera l’horloge la plus précise au monde!
CSS
HTML
jQuery
Au début, j'allais faire une
while(true)
boucle, mais ensuite je me suis rappelé que je ne voulais pas bloquer les navigateurs ...En voici un violon en action: http://jsfiddle.net/E7Egu/
la source
Emacs Lisp
Le truc Google a été fait mais pas dans emacs!
la source
node.js / Javascript
la source
JavaScript
Puisque l’API clock / time est cassée, j’utilise Performance API pour obtenir l’heure. Ensuite,
Date
n’est utilisé que pour l’analyser en chaîne.la source
PHP:
Ceci lira l'heure du système à partir de l'interface de ligne de commande disponible.
C'est ce que fait l'opérateur backtick: exécuter une commande.
Une autre façon serait:
Qui contient l' heure actuelle à laquelle le script a été appelé.
la source
Frapper
Contourne un peu les règles, mais elle n'appelle jamais une fonction de temps. Cependant, il affichera l'heure actuelle à la sortie et chaque fois que vous appuierez sur Entrée.
la source
C #
Cette méthode super exacte fonctionnera - à condition que vous exécutiez le programme à 0: 00: 00,0000
la source
Linux, la plupart des shells, sur du matériel avec un RTC:
la source
tr
? Peut-être que tu veux justepaste -d' ' /sys/class/rtc/rtc0/{date,time}
?Java
Nous savons tous que l'API Java Date / Heure est inutilisable et endommagée. Il s'agit donc d'un correctif qui n'utilise (du moins directement) aucune des API existantes. Il prend même en charge les secondes intercalaires! :) La sortie est en UTC.
la source