找出自某个日期以来unix时代以来的时间?

时间:2009-09-01 13:43:12

标签: linux datetime time timezone

我想在2009年10月1日BST的9:00发现unix时间(即自unix时代以来的秒数)的时间。我怎样才能在linux命令行上执行此操作?

我知道你可以使用date @$UNIXTIME '+%someformat',但unix时间是我想要弄清楚的

4 个答案:

答案 0 :(得分:27)

因此使用date

date --date="Oct 1 09:00:00 BST 2009" +%s

收率:

1254384000

答案 1 :(得分:9)

date +%s

给出了纪元以来的秒数

Wikipedia(Unix时间)有

显示自1970-01-01(Unix纪元)以来的秒数时间:

日期+“%s”-d“Fri Apr 24 13:14:39 CDT 2009”

1240596879

在编辑此答案时,我看不到您的首选日期,所以我没有尝试过 - 但我发现的示例看起来像是一种类似的格式。

答案 2 :(得分:5)

它适用于所有情况:

  

日期+%s

答案 3 :(得分:0)

我使用这个网站:http://www.epochconverter.com/将unixtime转换为人类可读,反之亦然。尽管它不是代码,但它对验证代码很有用。这里有一些代码(用Java代码)来完成你的要求。根据epochconverter.com,它打印出的unixtime是一个小时(不知道为什么)。

SimpleDateFormat sdf = new SimpleDateFormat( "MM/dd/yyyy HH:mm z" );

try {
    Date d = sdf.parse("10/01/2009 09:00 BST");
    System.out.println("Unixtime is: " + d.getTime() / 1000);
} catch (ParseException pe) { pe.printStackTrace();