【问题标题】:Find out the time since unix epoch for a certain date time?找出某个日期时间自 unix 纪元以来的时间?
【发布时间】:2010-11-24 15:45:15
【问题描述】:

我想找出 2009 年 10 月 1 日英国夏令时 9:00 的 unix 时间(即自 unix 纪元以来的秒数)。如何在 linux 命令行上执行此操作?

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

【问题讨论】:

    标签: linux datetime time timezone


    【解决方案1】:

    这样使用date

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

    产量:

    1254384000
    

    【讨论】:

      【解决方案2】:
      日期 +%s

      给出自纪元以来的秒数

      Wikipedia(Unix 时间)有

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

      日期 +"%s" -d "2009 年 4 月 24 日星期五 13:14:39 CDT"

      1240596879

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

      【讨论】:

      • 我暂时不想要它,我想要它在未来的特定日期
      • 是的,我花了几分钟才找到指定日期的命令选项(--date= 或 -d=),Adam Bellaire 打败了我。但这很好——我一直在想这个问题(不是双关语),以后我会回到那个维基百科链接。
      【解决方案3】:

      它应该适用于所有情况:

      日期 +%s

      【讨论】:

        【解决方案4】:

        我使用这个网站: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(); 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-01-31
          • 2017-07-23
          • 2019-12-16
          • 2013-01-08
          • 2018-12-27
          • 1970-01-01
          • 2016-05-14
          • 1970-01-01
          相关资源
          最近更新 更多