【Linux】文件魔法师:时间与日历的解密(8/15完成)

2024-09-02 04:36

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

  欢迎来到 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】文件魔法师:时间与日历的解密(8/15完成)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介