在 Linux 系统中,有许多场合都使用时间戳的方式表示时间,即从1970年1月1日起至当前的天数或秒数。如/etc/shadow里的密码更改日期和失效日期,还有代理服务器的访问日志对访问时间的记录等等。

对于不管是单台还是集群式的生信服务器,一个大任务长时间运行,设置和分析处理 log,对于任务的稳健持续运行很判断都非常有帮助,而这一切都需要和服务器的时间戳、标准时间息息相关。

关于时间格式的解释

  • UTC  (Universal Time Coordinated,UTC),世界协调时间

  • CST  (China Standard Time UTC+8:00),中国沿海时间(北京时间)

  • GMT  (Greenwich Mean Time),林威治标准时间

  • EST (Eastern Standard Time),美国东部时间

查看 Linux 系统时区

1. 使用传统的 date 命令

Linux 下使用传统的date命令,会自动打印出当前时间和时区缩写。

[shenweiyan@ecs-steven ~]# dateWed Jan 20 09:55:04 CST 2021
[shenweiyan@cloudraft-bioitee ~]# dateTue Jan 19 20:55:51 EST 2021

或者,你也可以使用下面的命令。其中%Z格式可以输出字符形式的时区,而%z输出数字形式的时区:

[shenweiyan@ecs-steven ~]# date +"%Z %z"CST +0800
[shenweiyan@cloudraft-bioitee ~]# date +"%Z %z"EST -0500

2. 使用 timedatectl 命令

当你不带任何参数运行它时,这条命令可以像下图一样,输出系统时间概览,其中包含当前时区:

timedatectl


然后,你可以在命令中提供一条管道,然后用 grep 命令来像下面一样,只过滤出时区信息:

[shenweiyan@cloudraft-bioitee ~]#  timedatectl | grep "Time zone"       Time zone: America/New_York (EST, -0500)

同样,我们可以学习如何使用timedatectl来设置 Linux 时区。例如:

sudo timedatectl set-timezone 'Asia/Shanghai'

时间戳格式和标准时间格式互转

下面介绍几种时间戳格式和标准时间格式转换的方法。

需要注意,Linux 下如果每个用户对应的时区如果不一样,他们获取的时间戳、标准时间也会不一样,虽然转换的方法是一样的,但注意不要跨时区去转换,即在 CST 中获取的时间戳和标准时间不要在 CST 以外的时区进行转换。如果非要转换,一定要加上时区的差异。

1. 分别以标准格式和时间戳来显示当前时间

使用 Linux 自带的date命令,分别以标准格式和时间戳来显示当前时间。

[shenweiyan@ecs-steven ~]# dateWed Jan 20 09:30:54 CST 2021[shenweiyan@ecs-steven ~]# date +%s1611106272

2. 显示指定时间的时间戳

使用 Linux 自带的date命令,显示指定时间的时间戳。

[shenweiyan@ecs-steven ~]# date -d "2021-01-20 10:25:30" +%s1611109530

3. 将时间戳转换为标准时间格式

方法 1:使用 date 命令

[shenweiyan@ecs-steven ~]# date -d '@1611109530'Wed Jan 20 10:25:30 CST 2021
[shenweiyan@ecs-steven ~]# date -d "1970-01-01 utc 1611109530 seconds"Wed Jan 20 10:25:30 CST 2021
[shenweiyan@ecs-steven ~]# date -d "1970-01-01 18647 days" "+%Y/%m/%d %H:%M:%S"2021/01/20 00:00:00
[shenweiyan@ecs-steven ~]# date -d "@1611109530" +"%Y%m%d %H:%M:%S"20210120 10:25:30
[shenweiyan@ecs-steven ~]# date -d "@1611109530" +"%F %H:%M:%S"2021-01-20 10:25:30
[shenweiyan@ecs-steven ~]# date -d "1970-01-01 utc 1611109530 seconds" +"%F %H:%M:%S"2021-01-20 10:25:30

方法 2:使用 awk 里的时间函数

[shenweiyan@ecs-steven ~]# echo "1611109530" |awk '{print strftime ("%F %T",$0)}'2021-01-20 10:25:30

方法 3:使用 perl 处理

[shenweiyan@ecs-steven ~]# perl -e 'print localtime(1279592730)."\n";'Tue Jul 20 10:25:30 2010

方法 4:使用 python 处理

[shenweiyan@ecs-steven ~]# python -c "import time; print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(1611109530)))"2021-01-20 10:25:30

— END—

Python 日期和时间函数使用指南

2019-09-21

Linux下程序时间消耗监控与统计

2018-07-07

Linux 下的动态库、静态库与环境变量

2019-09-07

生信服务器入门级基本设置

2020-06-05

CentOS Linux 7 安全基线设置

2019-05-26

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

生信服务器 | Linux 时间戳和标准时间相关推荐

  1. 生信服务器 | 防火墙基本配置

    主要介绍一下 CentOS 7 的防火墙基本配置知识,CentOS 6 的后续如果有需要再进行补充. Centos7 默认安装了 firewalld,如果没有安装的话,则需要 YUM 命令安装:fir ...

  2. 生信服务器 | 更改 CentOS/RHEL 6/7 中的时区

    这几天在学习折腾 docker 的时候遇到一个很常见的问题,就是 run container 的时候发现大部分 image 默认使用的时间都是 UTC  (Universal Time Coordin ...

  3. Deepin操作系统丨一台10年前的家用联想台式机重装国产Linux系统,制作成生信服务器

    本篇笔记是利用个人电脑搭建Linux系统(deepin 20.8)的教程,包括系统下载.映像刻录.启动盘制作.电脑BIOS设置.安装系统.故障解决.驱动更新.软件下载.conda配置.R语言和Rstu ...

  4. 生信服务器入门级基本设置

    前两天拿到了云筏科技提供的一台 4 核 16G 内存,1TB 硬盘,300M 带宽的服务器(看了一下 IP,应该是位于加拿大的服务器)!虽然是国外的服务器,但从国内 ssh 上去后的各种操作还是非常流 ...

  5. 生信宝典Linux学习系列文章整理

    欢迎关注天下博客:http://blog.genesino.com/2017/10/sxbd-linux-summary/ 生信宝典推出的Linux从入门到常用命令.软件安装方法.数据处理方法都在这了 ...

  6. 视频 | 生信分析Linux教程 - Linux系统简介和目录理解2

    点击阅读原文跳转完整教案. 1 Linux初探,打开新世界的大门 1.1 Linux系统简介和目录理解 1.1.1 为什么要用Linux系统 1.1.2 Linux系统无处不在 1.1.3 免费的Li ...

  7. Ubuntu 20.0.4 linux生信服务器笔记

    系统硬盘挂载情况 $ sudo root # df -h查看硬件raid信息 # lspci |grep -i raid 17:00.0 RAID bus controller: Broadcom / ...

  8. 生信技能树linux虚拟机,科学网—Windows10安装Linux子系统Ubuntu 20.04LTS,轻松使用生信软件,效率秒杀虚拟机 - 刘永鑫的博文...

    很多优秀的生物信息学软件,如QIIME.QIIME 2.LEfSe等没有Windows版,而使用VirutalBox虚拟机不仅效率低,而且挂载外部硬盘和使用中也经常遇到各种问题,配置和使用详见 - 扩 ...

  9. 生信技能树 linux下安装bowtie2和使用bowtie2进行初步比对

    linux下安装软件 echo $PATH ##查看路径 echo $PATH|tr ":" "\n"|xargs ls -lh ls -lh /usr/bin ...

最新文章

  1. 重磅发布!阿里云云效《阿里巴巴DevOps实践指南》
  2. SpringMVC快速入门-代码实现
  3. intellij选择困难症Spring Batch/Data JPA/Integration/MVC/Security/Web Flow/Web Services到底选哪个?
  4. 笔记本电脑关机后指示灯还亮_汽车仪表常见指示符号之清洗液指示灯,灯亮了怎么办?...
  5. 如何实现两个数据库之间的同步
  6. ant design 预览图片_AntD框架的upload组件上传图片时遇到的一些坑
  7. 【跃迁之路】【671天】程序员高效学习方法论探索系列(实验阶段428-2018.12.15-16)...
  8. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype
  9. ROS Image_transport使用
  10. 微信、支付宝迎劲敌?华为拿下支付牌照
  11. 什么是智能DNS云解析?云解析如何实现智能解析效果?
  12. 设计模式简介 - Introduction to Design Patterns
  13. wuauclt1.exe mshta.exe 病毒清理
  14. Building QNX guests
  15. # IE浏览器打不开网页,google浏览器能打开
  16. 活动|图观™数字孪生精品助推计划
  17. 2021 ICPC 昆明(22-4-17) C L E | 第46届ICPC亚洲区域赛(昆明)
  18. 实现vue页面下载成word文档
  19. 盘点适合入门学习的C/C++开源项目
  20. python执行时产生了typeerror错误?

热门文章

  1. 一文搞定cookie,session,token
  2. 实现大数据可视化的10个技巧
  3. 绩效管理是什么?怎么做绩效管理?
  4. 为什么要使用多用户开源商城系统
  5. 发现一个有意思的博主(科研工作者)
  6. Linux的主要特性
  7. 动态SLAM:关于语义分割时间效率的讨论
  8. 立体匹配成像算法BM,SGBM,GC,SAD一览
  9. LIC-Fusion 2.0:基于滑动窗口法平面特征跟踪的激光雷达惯性相机里程计
  10. 一文详解实时稀疏点云分割