美文网首页
Mac下折腾时间戳的哪些事情

Mac下折腾时间戳的哪些事情

作者: greye | 来源:发表于2021-01-03 14:24 被阅读0次

    爬到如下数据:

    1372123803000
    1372730404000
    1373337962000
    1373944562000
    1374549661000
    1375154162000
    1375764961000
    1376370062000
    1376976061000
    1377580861000
    1378185662000
    1378790761000
    

    对照网站原始数据,推测是时间戳。

    1、验证猜想

    打开在线时间戳转换工具
    https://tool.lu/timestamp/

    经过验证,年份不对。应该是毫秒。


    2、截取语句

    格式                                            说明
    ${string: start :length}    从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。
    ${string: start}    从 string 字符串的左边第 start 个字符开始截取,直到最后。
    ${string: 0-start :length}  从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。
    ${string: 0-start}  从 string 字符串的右边第 start 个字符开始截取,直到最后。
    ${string#*chars}    从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
    ${string##*chars}   从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
    ${string%*chars}    从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。
    ${string%%*chars}   从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 左边的所有字符。
    

    3、mac下时间转换处理

     mac date命令
    usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... 
                [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]</pre>
    
    参数解析:
    
    -j:使用-j才能使用-f
    -n:默认情况下,如果定时进程正在运行,date命令会在本地组的所有机器设置时间。 -n选项可以禁止这种行为,表示只设置当前计算机。
    -u:显示或设置日期为UTC时间。
    -d:设置内核的时区,一般不用
    -r:秒转换时间
    -t:(time zone)设置一GMT为基准的时区
    -v:根据参数调整时间
    -f:根据格式调整时间
    +:+号引导的一些格式,和正常的Linux的格式一致
    下面是一些示例:
    

    查看当前时间的时间戳(也就是转换成秒)

    MacBook:~ -$ date +%s
    1609654035
    

    把当前时间转换成想要的格式

    MacBook:~ -$ date +%Y-%m-%d:%H:%M:%S 
    2021-01-03:14:09:38
    

    查看特定时间的时间戳

    MacBook:~ -$ date -j -f %Y-%m-%d 2021-01-03 +%s 
    1609654217
    

    时间戳转时间

    MacBook:~ -$ date -r 1609654035 
    2021年 1月 3日 星期日 14时07分15秒 CST
    

    把时间戳转换成想要的格式

    MacBook:~ -$ date -r 1609654035 +%Y-%m-%d_%H:%M:%S
    2021-01-03_14:07:15
    

    -v:不使用+|-,更改对应的时间未知(年月日时分秒到对应的参数)

    MacBook:~ -$ date -v5m
    2021年 5月 3日 星期一 14时12分46秒 CST
    MacBook:~ -$ date -v2H
    2021年 1月 3日 星期日 02时13分13秒 CST
    

    使用+:增加对应的时间

    MacBook:~ -$ date -v+2m
    2021年 3月 3日 星期三 14时14分08秒 CST
    

    使用-:减少对应的时间

    MacBook:~ -$ date -v-2m
    2020年11月 3日 星期二 14时14分59秒 CST
    

    -f:需要在-f前加-j

    MacBook:~ -$ date -j -f %Y-%m-%d 2021-01-03
    2021年 1月 3日 星期日 14时17分04秒 CST
    
    MacBook-Pro:~ -$ date 
    2021年 1月 3日 星期日 14时18分05秒 CST
    

    [[[mm]dd]HH]MM[[cc]yy][.ss]:这一串看着眼晕。

    cc      Century (either 19 or 20) prepended to the abbreviated year.
    yy      Year in abbreviated form (e.g., 89 for 1989, 06 for 2006).
    mm      Numeric month, a number from 1 to 12.
    dd      Day, a number from 1 to 31.
    HH      Hour, a number from 0 to 23.
    MM      Minutes, a number from 0 to 59.
    ss      Seconds, a number from 0 to 61 (59 plus a maximum of two leap seconds).
    

    4、批量处理

    for i in $(cat time.txt); do date -r $i +%Y%m%d_%H:%M:%S; done
    
    最终效果

    相关文章

      网友评论

          本文标题:Mac下折腾时间戳的哪些事情

          本文链接:https://www.haomeiwen.com/subject/bqvuoktx.html