首页 > 其他分享 >date

date

时间:2023-07-13 09:00:28浏览次数:21  
标签:-% 00 01 .. -- date

date

显示或设置系统时间与日期

概要

date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

主要用途

  • 转换时间到选定的格式,默认为当前。
  • 设置系统时间。

参数

format:输出的时间格式。

format可用的转义序列如下:

%%      百分号
%a      当地缩写的工作日名称(例如,Sun)
%A      当地完整的工作日名称(例如,Sunday)
%b      当地缩写的月份名称(例如,Jan)
%B      当地完整的月份名称(例如,January)
%c      当地的日期和时间(例如,Thu Mar  3 23:05:25 2005)
%C      世纪,和%Y类似,但是省略后两位(例如,20)
%d      一月中的一天(例如,01)
%D      日期,等价于%m/%d/%y
%e      一月中的一天,格式使用空格填充,等价于%_d
%F      完整的日期;等价于%+4Y-%m-%d
%g      ISO标准计数周的年份的最后两位数字
%G      ISO标准计数周的年份,通常只对%V有用
%h      等价于%b
%H      小时,范围(00..23)
%I      小时,范围(00..23)
%j      一年中的一天,范围(001..366)
%k      小时,使用空格填充,范围(0..23),等价于%_H
%l      小时,使用空格填充,范围(1..12),等价于%_I
%m      月,范围(01..12)
%M      分钟,范围(00..59)
%n      换行符
%N      纳秒,范围(000000000..000000000)
%p      用于表示当地的AM或PM,如果未知则为空白
%P      类似于%p,但用小写表示
%q      季度,范围(1..4)
%r      当地以12小时表示的时钟时间(例如,11:11:04 PM)
%R      24小时每分钟;等价于%H:%M
%s      自协调世界时1970年01月01日00时00分以来的秒数
%S      秒数,范围(00..60)
%t      水平制表符
%T      时间;等价于%H:%M:%S
%u      一周中的一天(1..7),1代表星期一
%U      一年中的第几周,周日作为一周的起始(00..53)
%V      ISO标准计数周,该方法将周一作为一周的起始(01..53)
%w      一周中的一天(0..6),0代表星期天
%W      一年中的第几周,周一作为一周的起始(00..53)
%x      当地的日期表示(例如,12/31/99)
%X      当地的时间表示(例如,23:13:48)
%y      年份后两位数字,范围(00..99)
%Y      年份
%z      +hhmm格式的数值化时区格式(例如,-0400)
%:z     +hh:mm格式的数值化时区格式(例如,-04:00)
%::z    +hh:mm:ss格式的数值化时区格式(例如,-04:00:00)
%:::z   数值化时区格式,相比上一个格式增加':'以显示必要的精度(例如,-04,+05:30)
%Z      时区缩写(如EDT)

默认情况下,日期用零填充数字字段;以下可选的符号可以跟在'%'后面:

-      (连字符) 不要填充相应的字段。
_      (下划线) 使用空格填充相应的字段。
0      (数字0) 使用数字0填充相应的字段。
+      用数字0填充,未来年份大于4位数字则在前面加上'+'号。
^      允许的情况下使用大写。
#      允许的情况下将默认的大写转换为小写,默认的小写转换为大写。

在任何标志之后都有一个可选的字段宽度,如小数;然后是一个可选的修饰符,在可用的情况下,使用E来使用当地语言环境的替代表示,
使用O来使用当地语言环境的替代数字符号。

选项

长选项与短选项等价

-d, --date=STRING          解析字符串并按照指定格式输出,字符串不能是'now'。
--debug                    注释已解析的日期,并将有疑问的用法发送到标准错误。
-f, --file=DATEFILE        类似于--date; 一次从DATEFILE处理一行。
-I[FMT], --iso-8601[=FMT]  按照ISO 8601格式输出,FMT可以为'date'(默认),'hours','minutes','seconds','ns'。例如:2006-08-14T02:34:56-06:00
-R, --rfc-email            按照RFC 5322格式输出,例如: Mon, 14 Aug 2006 02:34:56 -0600
--rfc-3339=FMT             按照RFC 3339格式输出,FMT可以为'date', 'seconds','ns'中的一个,例如:2006-08-14 02:34:56-06:00
-r, --reference=FILE       显示文件的上次修改时间。
-s, --set=STRING           根据字符串设置系统时间。
-u, --utc, --universal     显示或设置世界协调时(UTC)。
--help                     显示帮助信息并退出。
--version                  显示版本信息并退出。

返回值

返回状态为成功除非给出了非法选项或非法参数。

例子

# 格式化输出:
date +"%Y-%m-%d"
2009-12-07

# 输出昨天日期:
date -d "1 day ago" +"%Y-%m-%d"
2012-11-19

# 2秒后输出:
date -d "2 second" +"%Y-%m-%d %H:%M.%S"
2012-11-20 14:21.31

# 传说中的 1234567890 秒:
date -d "1970-01-01 1234567890 seconds" +"%Y-%m-%d %H:%M:%S"
# 或者
date -d@1234567890 +"%F %T"
# 输出结果
2009-02-13 23:02:30

# 时间格式转换:
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
# 输出结果
2009/12/12 00:00.00

# apache格式转换:
date -d "Dec 5, 2009 12:00:37 AM" +"%Y-%m-%d %H:%M.%S"
# 输出结果
2009-12-05 00:00.37

# 格式转换后时间游走:
date -d "Dec 5, 2009 12:00:37 AM 2 year ago" +"%Y-%m-%d %H:%M.%S"
# 输出结果
2007-12-05 00:00.37

# 时间加减操作:
date +%Y%m%d                   # 显示年月日
date -d "+1 day" +%Y%m%d       # 显示前一天的日期
date -d "-1 day" +%Y%m%d       # 显示后一天的日期
date -d "-1 month" +%Y%m%d     # 显示上一月的日期
date -d "+1 month" +%Y%m%d     # 显示下一月的日期
date -d "-1 year" +%Y%m%d      # 显示前一年的日期
date -d "+1 year" +%Y%m%d      # 显示下一年的日期

# 设定时间:
date -s                         # 设置当前时间,只有root权限才能设置,其他只能查看
date -s 20120523                # 设置成20120523,这样会把具体时间设置成00:00:00
date -s 01:01:01                # 设置具体时间,不会对日期做更改
date -s "01:01:01 2012-05-23"   # 这样可以设置全部时间
date -s "01:01:01 20120523"     # 这样可以设置全部时间
date -s "2012-05-23 01:01:01"   # 这样可以设置全部时间
date -s "20120523 01:01:01"     # 这样可以设置全部时间

# 有时需要检查一组命令花费的时间:
start=$(date +%s)
nmap wangchujiang.com &> /dev/null
end=$(date +%s)
difference=$(( end - start ))
# 显示执行时间
echo $difference seconds.

# 当你考虑输出带有时间的字符串时,例如(Current time: 2019/05/19):
# 通常使用的方法:
echo "Current time: $(date +"%Y/%m/%d")"
# 另一种方法:
suffix='Current time:'
# 注意如果换成单引号就不能替换变量了。
date +"${suffix} %Y/%m/%d"

注意

  1. 该命令是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 dateinfo coreutils 'date invocation'

标签:-%,00,01,..,--,date
From: https://www.cnblogs.com/linuxcmd/p/date.html

相关文章

  • js 根据时间,输出几分钟前,几小时前,几天前,几个月前,几年前。 console.log(getDateDiff("
    js根据时间,输出几分钟前,几小时前,几天前,几个月前,几年前。原文链接:https://blog.csdn.net/qq_42740797/article/details/111277824代码1://时间戳转多少分钟之前functiongetDateDiff(dateTimeStamp){//时间字符串转时间戳vartimestamp=newDate(dateTimeStamp).g......
  • C# 关于datetime的转换问题
    项目中时常碰到 Convert.ToDateTime报错的情况例如:数据导入时,如果用户胡乱输入,就会出现异常报错。 解决方式:stringinputDate="2023-7-12";DateTimedate=newDateTime();if(DateTime.TryParse(inputDate,outdate)){date=Convert.ToDateTime(inputD......
  • Unparseable date: "2023-07-12T01:43:06.000Z"
    1、调用硬件的接口,返回的数据,存到数据库,时间格式是UTC的不是北京的,要转一下,北京=UTC+8小时2、具体代码publicstaticStringforBeiJing(Stringtime){try{SimpleDateFormatsdf1=newSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");Datedate1=sdf......
  • MySQL DATE
    SQLDate函数一、SQL日期当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。只要数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间,情况就有点复杂了。在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。......
  • VMware vCenter Server 7.0 Update 3n 下载 - 集中管理 vSphere 环境
    VMwarevCenterServer7.0Update3n下载-集中管理vSphere环境请访问原文链接:https://sysin.org/blog/vmware-vcenter-7-u3/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwarevCenterServer是一款高级服务器管理软件,提供了一个集中式平台来控制vSphere......
  • VMware ESXi 7.0 Update 3n - 领先的裸机 Hypervisor
    VMwareESXi7.0Update3n-领先的裸机HypervisorVMwareESXi7.0Update3nStandard&AllCustomImageforESXi7.0U3mInstallCD更新日期:FriJul07202310:50:00GMT+0800,阅读量:4518请访问原文链接:https://sysin.org/blog/vmware-esxi-7-u3/,查看最新版。原创作......
  • VMware vSphere 7 Update 3n 下载
    VMwarevSphere7Update3n下载vCenterServer&ESXi,DellEMC,HPE,Cisco,LENOVO,FUJITSU,NEC,Inspur,HitachiCustomImage请访问原文链接:https://sysin.org/blog/vmware-vsphere-7-u3/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org服务器虚拟化软件vS......
  • C# DateDiff 计算时间间隔
     Dimdate2EnteredAsString=InputBox("Enteradate")TryDimdate2AsDate=Date.Parse(date2Entered)Dimdate1AsDate=Now'Determinethenumberofdaysbetweenthetwodates.DimdaysAsLong=DateDiff(DateInterv......
  • 如何实现jQuery datetime类型的具体操作步骤
    如何实现jQuerydatetime类型作为一名经验丰富的开发者,我很高兴能够教会你如何实现"jQuerydatetime类型"。在开始之前,让我们先来了解一下整个过程的流程,如下表所示:步骤描述步骤一引入jQuery库步骤二创建HTML元素步骤三使用第三方插件步骤四初始化插件......
  • git --date 常用参数 【汇总】
    详细使用说明:https://www.cnblogs.com/wutou/p/17493337.html其他的格式化占位符如下:--date=format:relative:'5secondsago'--date=format:relative:'5minutesago'--date=format:relative:'5hoursago'--date=format:relative:'5daysa......