How to working with dates and times?

1.How to formatting date for display?

Problem

You need to format dates or time for output

Solution

Use the date command with a strftime format specification.

3. How to automating date Ranges?

Problem

You have one date and you would like to generate the other automatically.

Solution

[maxwell@DBAMAXWELL cp11]$ date '+%Y-%m-%d %H:%M%S %z'
2022-03-19 09:5725 +0800
[maxwell@DBAMAXWELL cp11]$ date -d 'today' '+%Y-%m-%d %H:%M%S %z'
2022-03-19 09:5750 +0800
[maxwell@DBAMAXWELL cp11]$ date -d 'yesterday' '+%Y-%m-%d %H:%M%S %z'     
2022-03-18 09:5805 +0800
[maxwell@DBAMAXWELL cp11]$ date -d 'tomorrow' '+%Y-%m-%d %H:%M%S %z'         
2022-03-20 09:5821 +0800
[maxwell@DBAMAXWELL cp11]$ date -d 'Monday' '+%Y-%m-%d %H:%M%S %z'         
2022-03-21 00:0000 +0800
[maxwell@DBAMAXWELL cp11]$ date -d 'last Monday' '+%Y-%m-%d %H:%M%S %z'
2022-03-14 00:0000 +0800
[maxwell@DBAMAXWELL cp11]$ date -d 'next Monday' '+%Y-%m-%d %H:%M%S %z'    
2022-03-21 00:0000 +0800
[maxwell@DBAMAXWELL cp11]$ date -d 'last week' '+%Y-%m-%d %H:%M%S %z'              
2022-03-12 09:5943 +0800
[maxwell@DBAMAXWELL cp11]$ date -d 'next week' '+%Y-%m-%d %H:%M%S %z'    
2022-03-26 09:5954 +0800
[maxwell@DBAMAXWELL cp11]$ date -d '2 week' '+%Y-%m-%d %H:%M%S %z'    
2022-04-02 10:0005 +0800
[maxwell@DBAMAXWELL cp11]$ date -d '-2 weeks' '+%Y-%m-%d %H:%M%S %z'
2022-03-05 10:0025 +0800
[maxwell@DBAMAXWELL cp11]$ date -d '2 weeks' '+%Y-%m-%d %H:%M%S %z' 
2022-04-02 10:0034 +0800
[maxwell@DBAMAXWELL cp11]$ date -d '2 weeks ago' '+%Y-%m-%d %H:%M%S %z'
2022-03-05 10:0054 +0800
[maxwell@DBAMAXWELL cp11]$ date -d '+4 days' '+%Y-%m-%d %H:%M%S %z'           
2022-03-23 10:0121 +0800
[maxwell@DBAMAXWELL cp11]$ date -d '-6 days' '+%Y-%m-%d %H:%M%S %z'  
2022-03-13 10:0135 +0800
[maxwell@DBAMAXWELL cp11]$ date -d '2000-01-01 +12 days' '+%Y-%m-%d %H:%M%S %z'  
2000-01-13 00:0000 +0800
[maxwell@DBAMAXWELL cp11]$ date -d '3 months 1 day' '+%Y-%m-%d %H:%M%S %z'             
2022-06-20 10:0248 +0800
[maxwell@DBAMAXWELL cp11]$ date '+%a %Y-%m-%d'
Sat 2022-03-19
[maxwell@DBAMAXWELL cp11]$ date -d 'today' '+%a %Y-%m-%d'
Sat 2022-03-19
[maxwell@DBAMAXWELL cp11]$ date -d 'Saturday' '+%a %Y-%m-%d'     
Sat 2022-03-19
[maxwell@DBAMAXWELL cp11]$ date -d 'last Saturday' '+%a %Y-%m-%d'
Sat 2022-03-12
[maxwell@DBAMAXWELL cp11]$ date -d 'this Saturday' '+%a %Y-%m-%d'    
Sat 2022-03-19
[maxwell@DBAMAXWELL cp11]$ date -d 'next Saturday' '+%a %Y-%m-%d'    
Sat 2022-03-26
[maxwell@DBAMAXWELL cp11]$ date -d 'this week Friday' '+%a %Y-%m-%d'              
Fri 2022-03-25
[maxwell@DBAMAXWELL cp11]$ 

3. How to converting Dates and Times to Epoch Seconds

[maxwell@DBAMAXWELL cp11]$ date '+%s'
1647657592
[maxwell@DBAMAXWELL cp11]$ date -d '2005-11-05 12:00:00 +0000' '+%s'
1131192000
[maxwell@DBAMAXWELL cp11]$ perl -e 'print time, qq(\n);'
1647657672
[maxwell@DBAMAXWELL cp11]$ perl -e 'use Time::Local; print timelocal(localtime( )) . qq(\n);'
1647657680
[maxwell@DBAMAXWELL cp11]$ perl -e 'use Time::Local; print timelocal(localtime( )) . qq(\n);'
1647657694
[maxwell@DBAMAXWELL cp11]$ perl -e 'use Time::Local; print timelocal("49", "59", "06", "05", "10", "105") .
> qq(\n);'
1131145189
[maxwell@DBAMAXWELL cp11]$ perl -e 'use Time::Local; print timegm("49", "59", "06", "05", "10", "105") . qq(\
> n);'
1131173989
n[maxwell@DBAMAXWELL cp11]$

3. How to converting Epoch Seconds to Dates and Times

n[maxwell@DBAMAXWELL cp11]$ EPOCH='1131173989'
[maxwell@DBAMAXWELL cp11]$ date -d "1970-01-01 UTC $EPOCH seconds" +"%Y-%m-%d %T %z"
2005-11-05 14:59:49 +0800
[maxwell@DBAMAXWELL cp11]$ date --utc --date "1970-01-01 $EPOCH seconds" +"%Y-%m-%d %T %z"
2005-11-05 06:59:49 +0000
[maxwell@DBAMAXWELL cp11]$ 

4.How to getting yesterday or tomorrow with Perl

[maxwell@DBAMAXWELL cp11]$ perl -e "use POSIX qw(strftime); print strftime('%Y-%m-%d', localtime(time -
> 86400)), qq(\n);"

2022-03-18
[maxwell@DBAMAXWELL cp11]$ perl -e "use POSIX qw(strftime); print strftime('%Y-%m-%d', localtime(time +
> 86400)), qq(\n);"

2022-03-20
[maxwell@DBAMAXWELL cp11]$ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值