【Linux】文件魔法师:时间与日历的解密

2024-09-02 07:44

本文主要是介绍【Linux】文件魔法师:时间与日历的解密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  欢迎来到 CILMY23 的博客

🏆本篇主题为:文件魔法师:时间与日历的解密

🏆个人主页:CILMY23-CSDN博客

🏆系列专栏:Python | C++ | C语言 | 数据结构与算法 | 贪心算法 | Linux | 算法专题 | 代码训练营

🏆感谢观看,支持的可以给个一键三连,点赞收藏+评论。如果你觉得有帮助,还可以点点关注


前言:

本期为时间指令篇,内容较少,所以结合时间戳的知识点一块写在一篇里了。

1.date 指令         2. Cal 指令

备注:停更了一阵子,为了跟上这个学习进度啊,稍微停下脚步复习复习也是可以的吧,我们接下来会讲到上述的两个指令,以及时间和时间戳这个概念。


目录

date 指令 

时间 

时间戳 

转化时间戳

Cal 指令 

什么是农历,阴历,阳历,公历。 

1. 农历

2. 阴历

3. 阳历

4. 公历


date 指令 

我也是抽空搞了个xshell,至于虚拟机我们就暂时不用了。

看下述指令:

我们在屏幕中输入date,可以发现屏幕输出了一段。 

我是在2024/8/15日写的这篇博客,这天是周三。

 

 这份date阅读解释如下

我也不知道cst是什么,这里有个参考,详细的可以参考链接 。

这样的格式并不方便我们阅读,我们可以使用指定格式进行阅读。

date可以加的选项如图所示:

%H : 小时(00..23) 
%M : 分钟(00..59) 
%S : 秒(00..61) 
%X : 相当于 %H:%M:%S 
%d : 日 (01..31) 
%m : 月份 (01..12)  
%Y : 完整年份 (0000..9999) 
%F : 相当于 %Y-%m-%d 

实操如下:

 或者可以用如下选项:

时间 

 在这里就不得不提一个重要的概念,时间---计算机中非常重要的概念,大家可能以前都写过日记,日记上通常我们都会写上时间,比如年月日等等,我们现在Linux中的时间应该是前文讲到的CST,它是东八区,也就是和格林威治时间差八小时。

格林威治时间(Greenwich Mean Time, GMT) 是一种时间标准,最初以英国伦敦的格林威治天文台为基准。它是全球时间系统的基础,广泛用于协调世界各地的时间。

格林威治时间的历史来源: 

格林威治皇家天文台为了海上霸权的扩张计划,在十七世纪就开始进行天体观测。为了天文观测,选择了穿过英国伦敦格林威治天文台子午仪中心的一条经线作为零度参考线,这条线,简称格林威治子午线。

1884年10月在美国华盛顿召开了一个国际子午线会议,该会议将格林威治子午线设定为本初子午线,并将格林威治平时 (GMT, Greenwich Mean Time) 作为世界时间标准(UT, Universal Time)。由此也确定了全球24小时自然时区的划分,所有时区都以和 GMT 之间的偏移量做为参考。

1972年之前,格林威治时间(GMT)一直是世界时间的标准。1972年之后,GMT 不再是一个时间标准了。

但是现在不止有这样的标准,还有很多其他的标准时间。 但这涉及了另外一个时间-----时间戳

时间戳 

时间戳是一个记录事件发生时间的标记。它通常以特定格式表示,每个文件在创建、修改和访问时,操作系统会记录相应的时间戳。这些时间戳于文件管理和版本控制。

 在Linux系统中,我们使用的是Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp),它是从1970年1月1日(UTC/GMT的 午夜)开始所经过的秒数,不考虑闰秒。时

我们可以在xshell上使用 date +%s 来查看时间戳。

时间戳是单调递增的概念,所以可以进行范围查找,时间戳也可能存在溢出的情况。

转化时间戳

那我们遇到这么大的数字如何转化它呢?

实操如下:

我们可以通过在date 的后面 输入 -d @时间戳 来进行转化,同时我们也可以使用这一项来查看,时间戳开始的时候。 

那为什么后面是八点开始的呢?

这是因为,我们在东八区,有时差,所以加了八个小时

Cal 指令 

cal命令可以用来显示公历(阳历)日历。

什么是农历,阴历,阳历,公历。 

1. 农历

农历是中国传统的历法,主要用于农业生产和节气的安排。它结合了阴历和阳历的特点:

  • 阴历:以月亮的周期(约29.5天)为基础,通常一个月有29天或30天。
  • 阳历:以太阳的运动为基础,反映季节变化。

农历的特点:

  • 一年通常有12个月,约354天。为了与阳历对齐,每隔2到3年会增加一个闰月,使得农历年与阳历年保持一致。
  • 农历的节气(如立春、夏至等)与农业活动密切相关,因此在中国传统文化中具有重要意义。

2. 阴历

阴历是以月亮的运动为基础的历法,主要依据月相变化来计算时间。其特点包括:

  • 每个月的长度通常为29或30天,形成一个完整的阴历年约为354天。
  • 由于阴历年比阳历年短,阴历的日期会逐年提前,导致阴历的节日(如春节、中秋节)在阳历中的日期变化较大。

3. 阳历

阳历是以太阳的运动为基础的历法,主要用于反映季节变化。最常用的阳历是公历(格里历):

  • 一年通常有365天,闰年有366天(每四年一次,除了能被100整除但不能被400整除的年份)。
  • 阳历的月份长度不一,通常为28到31天。

4. 公历

公历(Gregorian Calendar)是现代最广泛使用的历法,源于阳历。它是由教皇格里高利十三世于1582年改革的历法,主要特点包括:

  • 一年有12个月,通常为365天,闰年为366天。
  • 采用“公元”纪年法,分为公元前和公元后。
  • 在国际上被广泛接受,成为标准的民用历法。

当我们在公屏上输入cal 的时候,它就会打印当前月的公历

我们可以通过增加选项来实现前后的这三个月: 

我们可以使用那个男人----man 来查看cal 的使用。 


总结 

通过 date 和 cal 命令,我们可以方便地查看时间和日历信息。理解时间、时间戳及不同历法的概念。 

  • cal 的使用如下所示:


 🛎️感谢各位同伴的支持,本期时间篇的指令讲解专题就讲解到这啦,下期我们将进入文件打包和文件查找,如果你觉得写的不错的话,可以给个一键三连,点赞,收藏+评论,可以的话还希望点点关注,若有不足,欢迎各位在评论区讨论。      

注:

链接来自:Date 的GMT、UTC、ISO、CST、timestamp 等格式 及Moment、Dayjs_date cst-CSDN博客 

这篇关于【Linux】文件魔法师:时间与日历的解密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129394

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

[Linux]:进程(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 进程终止 1.1 进程退出的场景 进程退出只有以下三种情况: 代码运行完毕,结果正确。代码运行完毕,结果不正确。代码异常终止(进程崩溃)。 1.2 进程退出码 在编程中,我们通常认为main函数是代码的入口,但实际上它只是用户级

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。