Время печати эпохи на разных языках - PullRequest
5 голосов
/ 13 февраля 2009

Как вы, возможно, знаете, сегодня вечером, точно в 23:31:30 UTC, Великая Эпоха достигнет 1234567890! Ура!

Один из способов просмотра времени эпохи - использование Perl:

perl -le 'while(true){print time();sleep 1;}'

Можете ли вы сделать то же самое на другом языке программирования?

Ответы [ 9 ]

4 голосов
/ 13 февраля 2009

этот сайт находится в моих избранных и имеет много ответов для него

2 голосов
/ 13 февраля 2009

питон в одну строку:

python -c "while True: import time;print time.time();time.sleep(1)"
1 голос
/ 04 февраля 2012

Zsh - расширенная оболочка Unix:

zmodload zsh/datetime && while true; do print $EPOCHSECONDS ; sleep 1; done
1 голос
/ 13 февраля 2009

php однострочный

php -r 'while(true) { echo time(), "\n"; sleep(1);}'
1 голос
/ 13 февраля 2009

сценарий оболочки:

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)
0 голосов
/ 09 ноября 2011

Больше perl:

perl -MAnyEvent -MDateTime -E 'my $cv = AE::cv; my $w = AE::timer 0, 1, sub { say DateTime->now->epoch }; $cv->wait'
0 голосов
/ 13 февраля 2009

Java

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) {
            }
        }
    }
}
0 голосов
/ 13 февраля 2009

Это будет тот же код в c #:

    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0);
    while (true)
    {
        Console.WriteLine((int)(DateTime.UtcNow - epoch).TotalSeconds);
        Thread.Sleep(1000);
    }

И, как сказал Техван, это текущее время, а не "эпоха"

0 голосов
/ 13 февраля 2009

Java:

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());
...