专栏首页TheOneGIS空间站时期和ANSI Date之间的转换

时期和ANSI Date之间的转换

一个具体日期的ANSI Date指的是该日期到1600年12月31日经过的天数。 1601年1月1日的ANSI Date为1。 在Linux中使用如下命令,我们可以查看从1600-12-31经过134775天以后的日期。

date -ud '1600-12-31 + 134775 day' +%F

结果是:1970-01-01

此外,date命令还有一个格式参数%s可以输出1970-01-01 00:00:00 UTC到给定日期的秒数(有时候这种时间表示方法也叫UNIX time indexing)。我们可以利用这个计算给定日期的ANSI Date。 思路是先计算出到1970-01-01 的秒数,然后转换为天数,然后加上到1600-12-31 的天数。 例如下面的命令输出2012-01-04对应的ANSI Date。

echo $(( $(date -ud '2012-01-04' +%s) / (3600 * 24) + 134775 ))

输出结果是:150118 注:在Linux shell中,我们可以使用 $(()) 将表达式放在括号中,即可达到运算的功能。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux每日命令(35):grep命令

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expre...

    用户1214487
  • 启动期间的内存管理之pagging_init初始化分页机制--Linux内存管理(十四)

    在初始化内存的结点和内存区域之前, 内核先通过pagging_init初始化了内核的分页机制.

    233333
  • Linux文件权限管理

    Dream城堡
  • Debian GNU/Linux Stretch 9.6 发布

    Debian项目宣布第六版发布到最新稳定的Debian GNU/Linux 9.6 “Stretch”操作系统系列。Debian GNU/Linux 9.6 “...

    Debian社区
  • 理解 Linux 的虚拟内存

    前不久组内又有一次我比较期待的分享:“Linux 的虚拟内存”。是某天晚上加班时,我们讨论虚拟内存的概念时,leader 发现几位同事对虚拟内存认识不清后,特意...

    Debian社区
  • U盘安装linux发行版 原

    Manjaro是一款基于Arch Linux、对用户友好、全球排名第1的Linux发行版。(排名数据源于DistroWatch,统计日期2018.03.02,时...

    wuweixiang
  • 企业制定开源战略的免费指南

    大多数使用开源的公司都了解其商业价值,但他们可能缺乏战略性地实施开源计划和获得全部回报的工具。根据 The New Stack 最近的一项调查,“开源计划的三大...

    Debian社区
  • Linux基金会推出ACT项目 帮助开发者遵守开源许可证

    Linux Foundation 正致力于通过组建新项目来改善开源的合规性,他们近日推出了一个 Automated Compliance Tooling(ACT...

    Debian社区
  • Facebook 开源的一组 Linux 内核组件与工具

    近日,Facebook 开源了一套解决重要计算集群管理问题的 Linux 内核组件和相关工具,这些项目覆盖了资源控制、资源利用、工作负载隔离、负载均衡、测量和监...

    Debian社区
  • Linux 基金会与 RISC-V 基金会合作推广开源芯片

    Linux是全球最重要的开源软件,RISC-V则是近年来兴起的一个开源CPU指令集,现在这两个阵营宣布达成合作——Linux基金会与RISC-V基金会将共同合作...

    Debian社区

扫码关注云+社区

领取腾讯云代金券