我需要像date一样简单的东西,但是自1970年以来的秒数,而不是当前的日期,小时,分钟和秒。

date似乎没有提供该选项。 有一个简单的方法吗?


#1楼

这应该工作:

date +%s

#2楼

只是补充一下。

获取自纪元(1970年1月1日)以来任何特定日期(例如1973年10月21日)的秒数。

date -d "Oct 21 1973" +%s

将秒数转换回日期

date --date @120024000

命令date非常灵活。 你可以用日期做的另一件很酷的事情(从date --help无耻地复制date --help )。 显示下周五上午9点在美国西海岸的当地时间

date --date='TZ="America/Los_Angeles" 09:00 next Fri'

更好的是,花些时间阅读手册页http://man7.org/linux/man-pages/man1/date.1.html


#3楼

这是@pellucide所做的扩展,但对于Macs:

确定自纪元(1970年1月1日)以来任何特定日期(例如1973年10月21日)的秒数

$ date -j -f "%b %d %Y %T" "Oct 21 1973 00:00:00" "+%s"
120034800

请注意,为了完整起见,我已将时间部分添加到格式中。 原因是date将采用您给出的任何日期部分,并将当前时间添加到提供的值。 例如,如果您在下午4:19执行上述命令,而没有'00:00:00'部分,它将自动添加时间。 这样“1973年10月21日”将被解析为“1973年10月21日16:19:00”。 这可能不是你想要的。

要将时间戳转换回日期:

$ date -j -r 120034800
Sun Oct 21 00:00:00 PDT 1973

Apple的日期实现手册页: https : //developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/date.1.html


#4楼

到目前为止,所有答案都使用外部计划date

从Bash 4.2开始, printf有一个新的修饰符%(dateformat)T ,当与参数-1一起使用时,输出当前日期,格式由dateformat给出,由strftime(3)处理( man 3 strftime有关格式的信息)。

那么,对于纯粹的Bash解决方案:

printf '%(%s)T\n' -1

或者如果您需要将结果存储在变量var

printf -v var '%(%s)T' -1

没有外部程序,没有子shell!

从Bash 4.3开始,甚至可以不指定-1

printf -v var '%(%s)T'

(但总是给论证-1可能更明智)。

如果使用-2作为参数而不是-1 ,Bash将使用shell启动的时间而不是当前日期(但为什么要这样?)。


#5楼

使用这个bash脚本(我的~/bin/epoch ):

#!/bin/bash# get seconds since epoch
test "x$1" == x && date +%s && exit 0# or convert epoch seconds to date format (see "man date" for options)
EPOCH="$1"
shift
date -d @"$EPOCH" "$@"

#6楼

大多数Awk实现:

awk 'BEGIN {srand(); print srand()}'

#7楼

纯粹的bash解决方案

bash 5.0( 2019年1月7日发布 )以来,您可以使用内置变量EPOCHSECONDS

$ echo $EPOCHSECONDS
1547624774

还有EPOCHREALTIME ,包括几秒钟。

$ echo $EPOCHREALTIME
1547624774.371215

通过删除小数点,可以将EPOCHREALTIME转换为微秒(μs)。 当使用bash的内置算法(( expression )) ,这可能是有意义的,它只能处理整数。

$ echo ${EPOCHREALTIME/./}
1547624774371215

在上面的所有示例中,打印时间值相等以获得更好的可读性。 实际上,时间值会有所不同,因为每个命令都需要花费很少的时间来执行。

获取自Linux上的Epoch以来的当前时间,Bash相关推荐

  1. 如何用golang获取linux上文件的访问/创建/修改时间

    在linux上想获取文件的元信息,我们需要使用系统调用lstat或者stat. 在golang的os包里已经把stat封装成了Stat函数,使用它比使用syscall要方便不少. 这是os.Stat的 ...

  2. SVN从win迁移到Linux上

    工作需要把SVN从win迁移到Linux上,花了几天时间看资料搞定,简单记录一下: 公司用的SVN环境为 Windows server 2003 ,VisualSVN 2.1.5版本 1.dump出S ...

  3. linux终端什么字体舒服,推荐一款 Linux 上比较漂亮的字体

    推荐一款 Linux 上比较漂亮的字体 发布时间:2006-04-17 00:50:47来源:红联作者:Linux培训部长 这款字体来自中国 Linux 公社,作者是 cnhnln ,这款字体是用 f ...

  4. linux编译aborted,Ubuntu Linux上编译kernel出错__stack_chk_fail

    Ubuntu Linux上编译kernel出错__stack_chk_fail 发布时间:2008-02-06 00:02:18来源:红联作者:SMuonon init/built-in.o: In ...

  5. 在红帽Linux上安装samba服务,如何在linux上安装配置samba服务器

    如何在linux上安装配置samba服务器 更新时间:2019-10-29 22:40 最满意答案 1.首先需要登入安装了Linux系统的计算机,安装Samba.Fedora发行版一般使用yum工具安 ...

  6. 在Linux上利用python获取本机ip

    下面介绍在Linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码 ...

  7. centos 获取硬件序列号_如何在 Linux 上查找硬件规格

    在 Linux 系统上有许多工具可用于查找硬件规格. -- Sk(作者) 在 Linux 系统上有许多工具可用于查找硬件规格.在这里,我列出了四种最常用的工具,可以获取 Linux 系统的几乎所有硬件 ...

  8. Linux get cpu number,Linux上获取CPU Core个数的实现

    Linux上获取CPU Core个数的实现 可以通过多种手段取得CPU Core的个数,如: 1) 调用系统提供的函数get_nprocs(),可以在头文件sys/sysinfo.h中发现它 2) 借 ...

  9. linux没有找到可用磁盘,在Linux上,有没有一种更像python的方法来获取可用磁盘设备名的列表?...

    编辑我不明白为什么这被标记为重复,因为标识的重复需要导入pyudev.甚至不可能是复制品.在 这很管用,但感觉"蛮力".在 有没有一种更像python的方法来获取Linux上可用磁 ...

最新文章

  1. 使用脚本恢复Windows XP系统的用户密码
  2. paramiko安装
  3. php pdo 数组,php – 使用PDO更新数组
  4. java 粒子系统_Java粒子系统(烟火篇)
  5. 信息学奥赛一本通C++语言——1029:计算浮点数相除的余
  6. 我们一起爬爬爬之HTTP原理
  7. linux实用小功能
  8. duilib 子窗口位置_duilib各种布局的作用,相对布局与绝对布局的的意义与使用方法...
  9. SpringBoot加载静态资源
  10. 135编辑器html点击图片播放音乐,135编辑器怎么给文章添加音频和视频?135编辑器给文章添加音频和视频教程...
  11. Android SDK 字段及功能的分析详解
  12. 计算机win10启动慢,详细教你解决win10开机速度慢
  13. ios测试版软件永久,iOS10.3.3 Beta6开发者测试版
  14. 今天开始弄c++,copy下人家的文章来看看参考一下哈哈
  15. Web前端:2022年最佳Javascript动画库
  16. Android之GestureDetector-简单手势操作及通过手势缩放图片,我离职后面试收割小米等大厂offer
  17. w7运行里的计算机怎么设置,W7系统怎么设置开机启动项
  18. 计算机一级考试全部内容讲解,全国计算机等级考试一级教程讲解.doc
  19. 丢掉鼠标吧,使用最好用的Eclipse快捷键
  20. 文章双标题自动生成插件(火车头采集器文章自动生成双标题)

热门文章

  1. ORACLE 查看有多个执行计划的SQL语句
  2. 编译安装LAMP环境
  3. 从Exchange 通往Office 365系列(五)部署MailBox服务器
  4. 关于解决error A2004: symbol type conflict错误
  5. 牛的障碍Cow Steeplechase
  6. [TabControl] TabControl控件的最佳实践,可以把一个窗体和用户控件添加进来
  7. 工作小总结(字符串包含,获取当前页面的url等系列问题)
  8. Winodws 10中pyCharm 2017安装
  9. linux对文件属性及权限操作的一些基本命令
  10. LabVIEW之安装队列工具包AMC安装问题解决