Печать времени эпохи на разных языках
Вопрос
Как вы, возможно, знаете, сегодня вечером, ровно в 23:31:30 UTC, время Великой Эпохи достигнет 1234567890!Ура!
Один из способов просмотра времени эпохи — использование Perl:
perl -le 'while(true){print time();sleep 1;}'
Можете ли вы сделать то же самое на другом языке программирования?
Решение
этот сайт у меня в избранном и на него есть много ответов
Другие советы
Python в одну строку:
python -c "while True: import time;print time.time();time.sleep(1)"
сценарий оболочки:
while :; do printf "%s\r" $(date +%s); sleep 1; done
питон:
import time
import sys
while True:
sys.stdout.write("%d\r" % time.time())
sys.stdout.flush()
time.sleep(1)
однострочный PHP
php -r 'while(true) { echo time(), "\n"; sleep(1);}'
Zsh — расширенная оболочка Unix:
zmodload zsh/datetime && while true; do print $EPOCHSECONDS ; sleep 1; done
Это будет тот же код на С#:
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0);
while (true)
{
Console.WriteLine((int)(DateTime.UtcNow - epoch).TotalSeconds);
Thread.Sleep(1000);
}
И, как сказал Теван, это текущий время, а не время «Эпохи»
Джава
import java.util.Date;
public class EpochTime {
public static void main(String[] args) {
while (true) {
System.out.println(new Date().getTime() / 1000);
try {
Thread.sleep(1000);
}
catch (InterruptedException ignore) {
}
}
}
}
Джава:
System.out.println((new java.util.Date(0)).toString());
Вот это эпоха :) ...тот текущий время будет:
System.out.println((new java.util.Date()).toString());
Чтобы получить количество миллисекунд, прошедших с эпохи, выполните:
System.out.println("" + (new java.util.Date()).getTime());
Еще перл:
perl -MAnyEvent -MDateTime -E 'my $cv = AE::cv; my $w = AE::timer 0, 1, sub { say DateTime->now->epoch }; $cv->wait'
Не связан с StackOverflow