当前位置: 首页 > news >正文

Linux date命令(用于显示和设置系统的日期和时间,不仅可以显示时间,还能进行复杂的时间计算和格式化)

文章目录

      • 深入探讨 Linux Date 命令
        • 1. Date 命令详细功能解析
          • 1.1 命令概述
          • 1.2 命令语法
        • 2. 时间显示与格式化
          • 2.1 标准时间输出
          • 2.2 自定义格式输出
        • 3. 设置系统日期和时间
          • 3.1 基本用法
          • 3.2 注意事项
        • 4. 实用示例与脚本应用
          • 4.1 生成时间戳
            • 秒级时间戳
            • 毫秒时间戳
          • 4.2 时间戳转换
          • 4.3 脚本中记录日志

深入探讨 Linux Date 命令

1. Date 命令详细功能解析
1.1 命令概述

Linux 的 date 命令是一个功能强大的工具,用于显示和设置系统的日期和时间。它不仅可以显示时间,还能进行复杂的时间计算和格式化。

1.2 命令语法

date 命令的基本语法如下:

date [选项]... [+格式]

其中,“选项”用于控制命令的行为,如设置时间;“+格式”用于定制输出的时间显示格式。

2. 时间显示与格式化
2.1 标准时间输出

运行 date 命令而不带任何参数会显示当前的日期和时间,格式为:

周几 月 日 时::秒 时区 年

例如:

Fri Sep 29 10:35:02 UTC 2024
2.2 自定义格式输出

通过使用 + 和格式字符串,可以高度自定义时间的显示格式。格式字符串中的指令以 % 开头,后跟一个字符标识符。常见的格式化选项如下:

  • %Y:四位数的年份,如 2024
  • %m:两位数的月份,如 09
  • %d:两位数的日期,如 29
  • %H:小时(24小时制),如 14
  • %M:分钟,如 35
  • %S:秒,如 02

自定义示例,仅显示年月日:

date +"%Y-%m-%d"

在这里插入图片描述

3. 设置系统日期和时间
3.1 基本用法

设置系统时间通常需要管理员权限。在没有提供秒的情况下设置时间,如 sudo date --set="20241001 12:00",是因为在很多情况下,精确到分钟已经足够。不过,完全可以指定到秒:

sudo date --set="20241001 12:00:00"

这样设置可以确保时间的精确性,尤其是在需要同步到精确时间的环境中非常有用。

在这里插入图片描述
(注意:如果ntp同步已经开启,并且可以访问到ntp服务器,那么设置是不成功的,除非跟ntp服务器断开)

3.2 注意事项

更改系统时间可能会影响正在运行的应用程序和服务,特别是那些依赖于系统时间的。因此,在生产环境中,应谨慎操作并确保所有依赖系统的时间的服务都能正确处理时间变化。

4. 实用示例与脚本应用
4.1 生成时间戳
秒级时间戳

时间戳是自 Unix 纪元(1970年1月1日)以来的秒数。生成当前的时间戳:

date +%s

在这里插入图片描述

毫秒时间戳

在 Linux 的 date 命令中,+%s 选项确实用于生成自 Unix 纪元以来的秒数。然而,标准的 date 命令不直接支持毫秒级的时间戳输出。要获取包含毫秒的时间戳,需要使用一些额外的技巧。

可以通过结合使用 %s 和其他格式指令来获取毫秒级的时间戳。一个常见的方法是使用 %N,它代表纳秒数。然后,可以将纳秒数除以 1000000 来获取毫秒数。下面是一个示例:

date +"%s%N" | cut -b1-13

这条命令执行了以下步骤:

  1. +%s%N 生成了一个包含自 Unix 纪元以来的秒数,紧接着是当前秒的纳秒数。
  2. cut -b1-13 则截取这个字符串的前13个字符,即秒数后跟三位毫秒数。

这种方法适用于大多数现代 Linux 系统,因为它们的 date 实现包含 %N 选项。如果在某些特定系统中 date 命令不支持 %N,则可能需要安装或使用其他工具来生成高精度的时间戳。

在这里插入图片描述

4.2 时间戳转换

将时间戳转换为可读格式是常见需求,特别是在处理日志文件和其他以时间戳记录的数据时:

date -d "@1609459200"

在这里插入图片描述

4.3 脚本中记录日志

利用 date 命令可以轻松地在脚本中添加时间戳,为日志提供精确时间记录:

#!/bin/bash
log_file="/var/log/myapp-$(date +%Y%m%d-%H%M%S).log"
echo "Log start for: $(date)" > $log_file
# 脚本的其他操作
echo "Log end for: $(date)" >> $log_file

以上是对 date 命令的深入讲解和实际应用。通过这些详细的介绍和示例,可以更好地理解如何在各种情况下有效地使用这一命令。

相关文章:

Linux date命令(用于显示和设置系统的日期和时间,不仅可以显示时间,还能进行复杂的时间计算和格式化)

文章目录 深入探讨 Linux Date 命令1. Date 命令详细功能解析1.1 命令概述1.2 命令语法 2. 时间显示与格式化2.1 标准时间输出2.2 自定义格式输出 3. 设置系统日期和时间3.1 基本用法3.2 注意事项 4. 实用示例与脚本应用4.1 生成时间戳秒级时间戳毫秒时间戳 4.2 时间戳转换4.3 …...

高中教辅汇总【35GB】

文章目录 一、资源概览二、资源亮点三、获取方式 一、资源概览 这份教辅资源汇总,精心搜集了高中各学科的海量教辅资料,总容量高达35GB,覆盖了语文、数学、英语、物理、化学、生物、历史、地理、政治等所有必修及选修科目。从基础知识点到难…...

树莓派 AI 摄像头(Raspberry Pi AI Camera)教程

系列文章目录 前言 人们使用 Raspberry Pi 产品构建人工智能项目的时间几乎与我们生产 Raspberry Pi 的时间一样长。随着我们发布功能越来越强大的设备,我们能够支持的原生应用范围也在不断扩大;但无论哪一代产品,总会有一些工作负载需要外部…...

SpringBoot实现的师生健康信息管理平台

第1章 绪论 1.1背景及意义 随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对医院管理方面的要求也在不断提高,由于老龄化人数更是不断增加,使得师生健康信息管理系统的开发成为必需而且紧…...

启用vnc访问Dell 服务器IDRAC 7虚拟控制台

Dell IDRAC 7 版本太老,SSL证书过期,IDRAC的Java和本地远程虚拟机控制台访问不了,怎么办? 可以启用vnc访问IDRAC 虚拟控制台...

分布式数据库知识详解

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...

无人化焦炉四大车系统 武汉正向科技 工业机车无人远程控制系统

焦炉四大车无人化系统介绍 采用格雷母线光编码尺双冗余定位技术,炉门视觉定位自学习技术,wifi5G无线通讯技术,激光雷达安全识别技术,焦化智慧调度,手机APP监控功能。 焦炉四大车无人化系统功能 该系统能自动生成生产…...

【Linux】几种常见配置文件介绍

配置文件目录 linux 系统中有很多配置文件目录 /etc/systemd/system /lib/systemd/system /usr/lib/systemd/system 【结果就是这个目录配置文件是源头】 这三者有什么样的关系呢? 以下是网络上找的资料汇总,并加了一些操作验证。方便后期使用 介…...

【2024最新】华为HCIE认证考试流程

HCIE是华为认证体系中最高级别的ICT技术认证,表示通过认证的人具有ICT领域专业知识和丰富实践经验。 HCIE认证方向:最高认证级别HCIE的技术方向有13个 下面以HCIE-Datacom为例给大家介绍一下: HCIE-Datacom认证考试流程: 1.笔试…...

Golang | Leetcode Golang题解之第453题最小操作次数使数组元素相等

题目&#xff1a; 题解&#xff1a; func minMoves(nums []int) (ans int) {min : nums[0]for _, num : range nums[1:] {if num < min {min num}}for _, num : range nums {ans num - min}return }...

想知道为什么有DICOM格式,YAML格式,XML格式,JSON格式吗?

1 因为是为了代码和数据的可移植性 我们都知道&#xff0c;现在的操作系统有很大概两种&#xff0c;Win派&#xff0c;UNIX派&#xff08;Mac&#xff0c;Linux和Arm&#xff09;&#xff0c;如果您在不同的机器之间交换二进制文件&#xff0c;二进制数据会被当作垃圾读取&…...

Kubernetes环境搭建

华子目录 Kubernetes部署说明环境准备工作主机准备harbor搭建k8s集群中的主机名和ip设定k8s集群中设置hosts解析k8s中的所有节点关闭防火墙和selinuxk8s集群中禁用swap分区k8s集群中安装docker-cek8s集群中下载harbor证书k8s集群中配置harbor镜像加速器 k8s节点登录harbor测试 …...

draw.io创建自定义形状

Create custom shapes in draw.io using the text editor Reference draw怎么创建和编辑复杂的自定义形状 https://blog.csdn.net/u012028275/article/details/113828875 Create custom shapes in draw.io using the text editor...

【CSS3】css开篇基础(1)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…...

华为杯”第十二届中国研究生数学建模竞赛-D题:单/多列车优化决策问题的研究

目录 摘 要: 一、问题叙述 1.1 研究背景 1.2 要解决的问题 二、基本假设、名词约定及符号说明 2.1 模型假设 2.2 名词约定 2.3 符号说明 三、问题分析与模型准备 3.1 问题分析 3.2 数据处理 3.3 模型准备 3.3.1 列车运行动力学模型 3.3.2 列车运行耗能模型 四、问题一模型建立…...

【Docker】docker的存储

介绍 docker存储主要是涉及到3个方面&#xff1a; 第一个是容器启动时需要的镜像 镜像文件都是基于图层存储驱动来实现的&#xff0c;镜像图层都是只读层&#xff0c; 第二个是&#xff1a; 容器读写层&#xff0c; 容器启动后&#xff0c;docker会基于容器镜像的读层&…...

C++游戏开发深度解析

C游戏开发深度解析 C作为一种高效、灵活且功能强大的编程语言&#xff0c;在游戏开发领域扮演着举足轻重的角色。从独立小游戏到大型3A级游戏&#xff0c;C都以其卓越的性能和广泛的适用性成为游戏开发者们的首选。本文将从C游戏开发的基础、优势、引擎、挑战以及未来趋势等多…...

计算机毕业设计 基于Python的无人超市管理系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

dockercommit 后的镜像没有数据

docker commit 后的镜像没有数据 docker commit load save mysql背景 工位机环境迁移MySQL时&#xff0c;使用commit》save》MySQL转移》load》run -p&#xff0c;使用数据库连接工具连接成功后&#xff0c;发现没有MySQL中没有库表等数据。 原因分析 直接搜&#xff0c;找…...

基于SD卡的基因(DNA)炫酷LED桌面灯

基于SD卡的基因&#xff08;DNA&#xff09;炫酷LED桌面灯 一、介绍一个已知的问题解决办法 二、支持目录材料准备LED灯光文件&#xff08;我使用的PLA颜色&#xff09; 三、 打印部件和焊接四、拼装打印的DNA散件五、组合DNA螺旋结构六、执行DNA文件七、程序烧录八、总结及成品…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...