zoukankan      html  css  js  c++  java
  • date命令转换日期命令提示date: illegal time format

    问题:运行date命令抛错
    date -j -f "%a %b %d %T %Z %Y" "Sat Sep 29 11:33:00 CST 2018"  "+%s”
     
    报错:
    Failed conversion of ``Sat Sep 29 11:33:00 CST 2018'' using format ``%a %b %d %T %Z %Y''
    date: illegal time format
    usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
                [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
     
    命令说明:
    1.-f要转换的日期字符串的格式,对应后面的字符串的格式
    %a 星期
    %b 月份
    %T 时:分:秒
    %Z 时区
    %Y 年
    2.+%s 要转换后的日期,转换成秒
     
    解决方法:
     
    通过locale查看LANG是中文还是英文,如果日期月份用的英文,切换到英文。反之切换到中文
    切换到英文:export LANG="en_US.UTF-8"
    切换到中文:export LANG="zh_CN.UTF-8"
     
    原因:
    系统是分中英文的,-f对日期字符串解析时,月份和星期必须是对应系统的中文或英文才可以
     
     
    举例:
    1.执行命令date -j -f "%a %b %d %T %Z %Y" "Sat Sep 29 11:33:00 CST 2018"  "+%s"
     
    2.查看当前系统的语言
     
    3.日期字符串为英文,将LANG改为英文
    export LANG="en_US.UTF-8”
     
    4.更改完语言后,再执行转换日期的命令成功
     
     
  • 相关阅读:
    C++中的静态数据成员的作用与好处
    C++中的虚函数表
    CF292-D
    CF292-C
    CF292-B
    CF292-A
    CF291-B
    CF291-C
    CF287-B
    CF287-C
  • 原文地址:https://www.cnblogs.com/meitian/p/7768376.html
Copyright © 2011-2022 走看看