1. ubuntu修改时间的格式为“上午下午。
想要将时间格式改为上午/下午,可以通过使用Linux系统的date命令来实现。首先,你需要使用羡灶date -R命令,兄森扮它会显示当前的时间格式,然后你可以春仿使用date -d命令,按照上午/下午的格式来改变时间格式。例如,date -d '9:00 am' +%!T(MISSING),这样就可以将时间转换为上午9点的格式了。
2. Ubuntu怎么修改时区
当Linux启动时腔正谈,系统Kernel会去读取硬件时钟的设置,系统时钟就会独立于硬件运作。
3. 如何修改Ubuntu Linux的时间
可以使用date命令来修改系统时间,再使用hwclock --systohc写入硬件,示例如下
例如将时间设置为 2015-06-15 13:30,按如下命令操作:
# sudo date -s "2015-06-15 13: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:58 2012)
%d 一巧塌个月的第几天(01~31)
%x,%D 日帆宽悔期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)
4. 经验体会:解决Ubuntu 18.04+Windows双系统时间不同步的问题
Ubuntu和Windows双系统,开发娱乐两不误,随用随切换,岂不美哉?
然而,在美的背后,存在一个让人抓狂的Bug:从一个系统切换到另一个系统后,时间就会出错,表现为——
时差8小时。
例如:
一个系统中时间错乱,尚可通过互联网时间同步(NTP服务器)来解决旁拿。但是切换到另一个系统后,时差问题照样如故。
在了解时差出现的原因之前,我们先了解以下几个时钟的概念:
指Linux系统内部的时间。我们在系统任务栏中能直接看到的时间就是系统时间。
实时时钟是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,它控制着计算机系统的时间。操作系统中所提到的RTC,指的就是在计算机主板控制下的时间,即系统时间,为计算机硬件的内部时钟。
协调世界时(英语:Coordinated Universal Time,法语:Temps Universel Coordonné,简称UTC)是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽量接近于格林尼治标准时间。
——以上描述摘自 维基网络
实践中,UTC与GMT大致重合,其时间的值基本一致 ,但是它们在本质上各不相同。前者以原子时为依据,是确定时间值的标准,而后者则是时区上的概念,作为世界上不同地区人口生活的时间参照。
UTC也是计算机系统中的一个时间衡量标准,Ubuntu默认就将机器时间视为UTC [1] 。Ubuntu 16.04及更高版本的时间管理工具 timedatectl 中,UTC时间被单独列出来.
CST同时是以下两个时区的英文缩写:
如此缩写相同,在没有明确区分的情况下极易混淆,例如,笔者在小米Max上使用 date 命令查看时区时,输出以下结果:
timedatectl 工具的输出也不会那么明智。如果不知道这两个时区缩写相同,我还真以为系统拿美国的CST作为时区参照,使得这里的CST指的是美国标准时间了。幸好,为了避免歧义,Ubuntu的时区设置界面中特别标明了当前时区相对UTC的时差。
格林尼治平时(英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台当地的平太阳时,因为本初子午线被定义为通过那里的经线。
——以上描述摘自 维基网络
在中国,双系统导致的时差不多不少,正好是8个小时。而这8个小时的时差,正是中国所在时区东八区(GMT+8)相对于GMT的运返搭时间差。UTC正与GMT重合,加上其又是Ubuntu系统的时间依据(Ubuntu认为机器时间是UTC),因此对于时区设置为东八区的中国用户来说,这八个小时,不多不少,“刚刚好”。
时间不同步的问题,已经是Ubuntu使用上的一个经典问题世蚂了,很多前辈都给出了解决办法, 例如CSDN上 @Bruceoxl 的解决方案, 点此浏览 。
笔者参考的就是这篇教程,根据原教程,我在下面给出进一步的解说。
需要注意的是,Ubuntu会自动设置时区和时间,此时如果不进行后续的设置,机器时间就会被改写。本地时间(Local Time)就是我们在系统中使用的时间,它的值虽然正确,但这是以UTC为参照的,与机器时间存在8小时的时差。一旦重启进入仍然将机器时间视为RTC的Windows,则必会导致时间不统一。
自16.04版本起, timedatectl 成为Ubuntu的时间管理工具。不带参数运行时,它会输出当前的时间,以及系统时间的一些配置参数。
以下为设置前的 timedatectl 输出,本地时间为笔者的实际时间,注意观察时差:
第一步:更改硬件时间标准 。为了让Ubuntu能正确显示时间,需要运行以下命令,将硬件时间由UTC改为CST。设置完成后,重启电脑生效:
这里要注意的是,Ubuntu官方其实是不推荐如此设置的。再次运行 timedatectl ,你会发现输出的下方多了一段很长的警告,还加粗了:
意思是:
不过这一警告 我们不必理会 ,毕竟电脑上共存的是两套构造完全不同的系统。
第二步:同步本地时间。 联网打开“Ubuntu设置”→“详细信息”→“日期和时间”,开启前两个选项(“自动设置时间”和“自动设置日期”),稍等片刻。
第三步:同步机器时间。 运行以下命令,将本地时间更新到硬件时间上:
最终设置的结果如下,注意观察时差:
Bruceoxl提供了另一种解决思路,在Windows中设置。打开管理员模式的命令提示符或PowerShell(在 Windows+X 快捷菜单中),输入以下命令 [2] :
原理就是:在注册表项 HKEY_LOCAL_ 中添加一个名为 RealTimeIsUniversal 的值,类型为 REG_DWORD ,数据为 1 。此项的作用就是让Windows将硬件时间当作UTC,与Ubuntu的默认设置一致。
重启系统后即可生效。
采用上述方法,可完美解决Ubuntu 16.04及以上版本与Windows共存时所造成的时差问题,而时差问题的根源就在于默认情况下两个操作系统对待硬件时间的标准不一致。默认地,Ubuntu会将硬件时间视为UTC,而Windows则将其视为本地时间。
上述两种系统的方法不能同时适用,否则会导致两款系统的时间标准不统一。因为在Ubuntu中,我们是要把默认的机器时间标准从UTC改动出去,但在Windows中却刚好相反。时间标准不统一,造成的后果与适用本教程前一模一样,只是错乱的系统变成了Windows。
同时,若在时间标准不统一的情况下设置系统时间, 还会连同硬件时间也一同产生时差 ,提前或延后八个小时。
5. Ubuntu修改时区的两种方法
服务器date时间不准:
jingke@ubuntu:~# date
Tue, 05 Nov 2019 21:08:31 -0500
实际是下午9点
第一步:执行tzselect
修改/etc/localtime文件
控制系统时区的文件是/etc/localtime。只要把这个文件复制成相应时区的文件,系统时区就改成相应的时间了。
时区信息在:/usr/share/zoneinfo里。比如需要把本机 时区改成Shanghai的时间:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这两条指令培握都可以更改。
使用date查看时间
第二种修改方式 timedatectl
1.查看当前时间状态
查看当前时间状态 timedatectl status :
wxs@ubuntu:~/6-1/task4$ timedatectl status
Local time: Tue 2017-11-07 18:14:30 PST
Universal time: Wed 2017-11-08 02:14:30 UTC
RTC time: Wed 2017-11-08 02:14:29
Time zone: America/Los_Angeles (PST, -0800)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
系统显示的时间是错误的,错误原因也是显而易见的,使用的是America/Los_Angeles的时区。
因此只要修改时区就能保证时间配老庆的正确。
2.修改时区
所有的时区名称存储在/usr/share/zoneinfo文件中。
执行命令timedatectl set-timezone "Asia/Shanghai" 就可以将时区设为上海时区。
==== AUTHENTICATING FOR org.freedesktop.timedate1.set-timezone ===
Authentication is required to set the system timezone.
Authenticating as: wxs,,, (wxs)
Password:
==== AUTHENTICATION COMPLETE ===12345
重新查看当前时间状态 timedatectl status :含差
wxs@ubuntu:~/6-1/task4$ timedatectl status
Local time: Wed 2017-11-08 10:15:45 CST
Universal time: Wed 2017-11-08 02:15:45 UTC
RTC time: Wed 2017-11-08 02:15:45
Time zone: Asia/Shanghai (CST, +0800)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no12345678
此时时间已经正常了。
6. ubuntu里如何修改文件的修改时间
我们可以用touch命令来修改文件的修丛桥改时间。
1、新建一个空白文件ubuntugege.txt,看到当前的困岩文件访问时间和修改时间是一样的。