「Linux日期格式修改指南,详解格式规则与修改方法」 (linux更改日期格式)

Linux日期格式修改指南,详解格式规则与修改方法

在Linux系统中,日期格式是个非常重要的参数。它决定了我们在终端中看到的日期格式,也能在程序中输出日期信息。如果我们想要修改默认的日期格式或者让程序按照我们的需求输出日期信息,就需要了解Linux日期格式的规则以及修改方法,本文将会对此展开详细解析。

一、Linux日期格式规则

Linux日期格式是根据GNU库中的日期时间格式规则而制定的。在shell脚本中,我们可以使用date命令来进行日期格式化。比如,输入以下命令:

“`shell

$ date +”%Y-%m-%d %H:%M:%S”

“`

输出的时间格式为:

“`shell

2023-01-01 00:00:00

“`

这个命令中有几个元素需要解释一下:

– %Y:四位数的年份,例如2023。

– %m:两位数的月份,01到12。

– %d:两位数的日子,01到31。

– %H:小时数(24小时制),00到23。

– %M:分钟数,00到59。

– %S:秒数,00到59。

除此之外,还有一些可以用来格式化日期时间的格式化符号:

– %a:本地缩写星期几名称

– %A:本地完整星期几名称

– %b:本地缩写月份名称

– %B:本地完整月份名称

– %c:本地格式化日期时间

– %C:世纪

– %d:月份中的日期

– %D:日期格式:mm/dd/yy

– %e:月份中的日期,空格用0填充

– %F:日期格式:yyyy-mm-dd

– %h:与%b相同

– %I:小时数(12小时制),01到12

– %j:年份中的天数,001到366

– %k:小时数(24小时制),0到23

– %l:小时数(12小时制),空格用0填充

– %m:月份,01到12

– %M:分钟数,00到59

– %n:换行符

– %p:上午/下午的标记

– %r:12小时制的时间

– %R:24小时制的时间

– %s:自Unix纪元以来的秒数

– %S:秒数,00到59

– %t:制表符

– %T:时间格式:hh:mm:ss

– %u:星期几,1到7(星期一到星期天)

– %U:一年中的星期数(以星期日为首日),00到53

– %V:ISO-8601规定的一年中的星期数(以星期一为首日),01到53

– %w:星期几,0到6(星期天到星期六)

– %W:一年中的星期数(以星期一为首日),00到53

– %x:本地格式化的日期

– %X:本地格式化的时间

– %y:年份的最后两位

– %Y:四位数的年份

– %z:时区偏移量

– %Z:时区

上述格式化符号可以自由组合使用。以time命令为例,格式化默认输出会是这样的:

“`shell

$ time

real 0m0.006s

user 0m0.001s

sys 0m0.005s

“`

如果我们要将其中3项的值完全展示出来,该怎么办呢?我们可以使用如下命令:

“`shell

$ (TIMEFORMAT=”%E”; time (sleep 1; ls))

“`

输出结果为:

“`shell

0:01.00

“`

换句话说,它告诉了我们整个过程耗费的准确时间,且以秒为单位。

二、修改Linux日期格式的方法

下面几个例子介绍了如何在Linux系统中进行日期格式修改。

1. 修改终端显示的日期格式

要更改终端的默认日期格式,您可以通过在bashrc文件中添加以下行来更改日期格式:

“`shell

# For example: export PROMPT_COMMAND=’echo -ne “\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007[$(date +”%Y-%m-%d %H:%M:%S”)]$ “‘

“`

这里使用的是PROMPT_COMMAND环境变量。 bash shell使用此变量作为每行命令之后要运行的命令。在上面的例子中,我们使用echo命令输出日期的格式。我们在这里使用$(date +”%Y-%m-%d %H:%M:%S”)来设置日期和时间格式,这样就可以更改终端的默认日期和时间格式。

2. 在脚本中格式化日期

对于程序员而言,脚本就好比一个主角,如果你想把它打造得更好,一定需要巧妙地运用日期格式修改技巧。比如,以下代码段用于获取当前时间并格式化:

“`shell

current_time=$(date +%Y-%m-%d_%H-%M-%S)

echo “The current date and time is: ${current_time}”

“`

输出结果:

“`shell

The current date and time is: 2023-01-01_12-01-01

“`

Shell脚本将当前时间格式化为“年-月-日_小时-分钟-秒”的格式,可用于程序中输出日期信息。

3. 在Python中格式化日期

在Python编程中,您可以使用datetime模块来获取当前日期和时间,并通过strftime函数将其格式化。例如:

“`python

import datetime

now = datetime.datetime.now()

current_time = now.strftime(“%Y-%m-%d %H:%M:%S”)

print(“The current date and time is: “, current_time)

“`

输出结果:

“`shell

The current date and time is: 2023-01-01 12:01:01

“`

在Python中,您还可以使用dateutil模块以自然语言对日期进行格式化。这种方法更加灵活且易于阅读。例如:

“`python

from dateutil import parser

date_string = “January 1, 2023”

date = parser.parse(date_string)

current_date = date.strftime(“%Y-%m-%d”)

print(“The current date is: “, current_date)

“`

输出结果:

“`shell

The current date is: 2023-01-01

“`

这里使用的是自然语言表示,其中的“January 1, 2023”被转换为“2023-01-01”。

4. 在C++中格式化日期

在C++中,您可以使用ctime库和asctime函数来格式化日期。这个库可以将整数时间值转换为可读形式的字符串。以下是一个例子:

“`c++

#include

#include

int mn() {

std::time_t t = std::time(nullptr);

char current_time[100];

std::strftime(current_time, sizeof(current_time), “%Y-%m-%d %H:%M:%S”, std::localtime(&t));

std::cout

return 0;

}

“`

输出结果:

“`shell

The current date and time is: 2023-01-01 12:01:01

“`

在这里我们使用了strftime函数,将当前时间格式化成了“年-月-日_小时-分钟-秒”的格式输出。

相关问题拓展阅读:

如何修改Ubuntu Linux的时间

可以使用date命令来修改系统时间,再使用hwclock –systohc写入硬件,示例如下

例如将时间设置为:30,按如下命令操作:

# sudo date -s “:30”

# sudo hwclock –systohc

date命令

date命令是显示或设置系统时间与日期。

很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。

语法

date(选项)(参数)

选项

-d:显示字符串所指的日期与时间。字符串前后必须加上双引号;

-s:根据字符串来设置日期与时间。字符串前后必须加上双引号;

-u:显示GMT;

–help:在线帮助;

–version:显示版本信息。

参数

:指定显示时使用的日期时间格式。

日期格式字符串列表

%H 小时,24小时制(00~23)

%I 小时,12小时制(01~12)态正

%k 小时,24小时制(0~23)

%l 小时,12小时制(1~12)

%M 分钟(00~59)

%p 显示出AM或PM

%r 显示时间,12小时制(hh:mm:ss %p)

%s 从1970年1月1日00:00:00到目前经历的秒数

%S 显示秒(00~59)

%T 显示时间,24小时制(hh:mm:ss)

%X 显示时间的格式(%H:%M:%S)

%Z 显示时区,日期域(CST)

%a 星期的简称(Sun~Sat)

%A 星期的全称(Sunday~Saturday)

%h,%b 月的简称(Jan~Dec)

%B 月的全称(January~December)

%c 日期和时间(Tue Nov 20 14:12:)

%d 一巧塌个月的第几天(01~31)

%x,%D 日帆宽悔期(mm/dd/yy)

%j 一年的第几天(001~366)

%m 月份(01~12)

%w 一个星期的第几天(0代表星期天)

%W 一年的第几个星期(00~53,星期一为之一天)

%y 年的最后两个数字(1999则是99)

linux修改文件创建时间

clock显示的为CMOS记录的时间,如果要以date的时间为准,那么设置完date之后,记得用clock -w命令写入CMOS,使两个时间一致。

Linux下修改文件创建时间(修改文件更改时运洞间)

进到要改的文件目录里

find . -name “*” -exec touch ‘{}’ \;

注:最后一定要加分号,{}外一定要加单引号,*表示所有的文件(. 代表当前目录下)

如果只修改单个文件

1.创建文件 touch tm //名字随便起

2.touch -r tm liunx-2.6.30.4(要改的文件名)//就是把Linux-2.6.30.4文件的时间改为tm文件的时间

使用权限:所有使用者

使用方式:

touch

YY>>

file1

说明:

touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。

参数:

a 改变档案的读取时间滚派记录。

m 改变档案的修改时间记录。

c 假如目的档案不存在,不会建立新的档案。与 –no-create 的效果一样。

f 不使用,是为了与其他 unix 系统的相容性而保留。

r 使用参考档的时间记大悄贺录,与 –file 的效果一样。

d 设定时间与日期,可以使用各种不同的格式。

t 设定档案的时间记录,格式与 date 指令相同。

–no-create 不会建立新档案。

–help 列出指令格式。

关于linux更改日期格式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 「Linux日期格式修改指南,详解格式规则与修改方法」 (linux更改日期格式)