locale
显示地区和语言
[root@localhost ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
| 字段 | 说明 |
|---|---|
| LC_CTYPE | 语言符号分类 |
| LC_NUMERIC | 数字显示格式 |
| LC_TIME | 时间显示格式 |
| LC_COLLATE | 排序比较习惯 |
| LC_MONETARY | 货币基本单位 |
| LC_MESSAGES | 提示信息格式 |
| LC_PAPER | 默认纸张大小 |
| LC_NAME | 姓名书写方式 |
| LC_ADDRESS | 地址书写方式 |
| LC_TELEPHONE | 电话书写方式 |
| LC_MEASUREMENT | 度量计算方式 |
| LC_IDENTIFICATION | 自身包含信息的概述 |
| LC_ALL | 其他选项的默认设置 |
字段的优先级顺序为
LC_ALL > LC_* >LANG
locale就是某一个地域内的人们的语言习惯和思维方式的表现,系统支持的locale可使用如下命令查看
ls /usr/share/i18n/locales
zh_CN就是简体中文的意识
locale显示地区和语言,local则是用来定义局部变量的
[root@localhost ~]# local
-bash: local: 只能在函数中使用
date
显示和修改时间
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
| 选项 | 说明 |
|---|---|
| -d, --date=STRING | 指定显示格式 |
| -f, --file=DATEFILE | 从文件中读取显示格式 |
| -I[TIMESPEC], --iso-8601[=TIMESPEC] | 以ISO 8601格式显示 |
| -r, --reference=FILE | 显示文件的最后修改时间 |
| -R, --rfc-2822 | 以RFC 2822格式显示 |
| --rfc-3339=TIMESPEC | 以RFC 3339格式显示 |
| -s, --set=STRING | 设置时间 |
| -u, --utc, --universal | 显示UTC时间 |
输出格式控制符
| 控制符 | 说明 |
|---|---|
| %% | 转义百分号 |
| %a | 简写的星期名 |
| %A | 完整的星期名 |
| %b | 简写的月份名 |
| %B | 完整的月份名 |
| %c | 本地日期和时间 |
| %C | 年份的前两位(世纪) |
| %d | 一月中的第几天 |
| %D | 同%m/%d/%y |
| %F | 同%Y-%m-%d |
| %g | 一年中的第几个星期时的年份后两位,参考%G |
| %g | 一年中的第几个星期时的年份,配合%V |
| %h | 同%b |
| %H | 24小时制 |
| %I | 12小时制 |
| %j | 一年中的第几天 |
| %m | 月份 |
| %M | 分钟 |
| %n | 换行符 |
| %N | 纳秒 |
| %p | 显示AM或PM |
| %P | 显示am或pm |
| %s | 1970-01-01 00:00:00以来的秒数 |
| %S | 秒 |
| %t | TAB符号 |
| %T | 同%H:%M:%S |
| %u | 一周中的第几天(1..7),1是星期一 |
| %U | 一年中的第几周(00..53),星期天是一周的的第一天 |
| %V | ISO标准中的一周中的第几周(00..53),星期一是一周的的第一天 |
| %w | 一周中的第几天(0..6),0是星期天 |
| %W | 一年中的第几周(00..53),星期一是一周的的第一天 |
| %y | 年份的后两位 |
| %Y | 完整的年份 |
| %z | 显示时区 |
时间戳与日期转换
Mac
➜ Downloads date +%s
1509719840
➜ Downloads date -r 1509719840
2017年11月 3日 星期五 22时37分20秒 CST
➜ Downloads date -j -f '%Y-%m-%d %H:%M:%S' '1992-10-25 10:10:10' +%s
719979010
➜ Downloads date -r 719979010 +"%F %T"
1992-10-25 10:10:10
Linux
[root@localhost ~]# date +%s
1509719840
[root@localhost ~]# date -d @1509719840
2017年 11月 03日 星期五 10:37:20 EDT
[root@localhost ~]# date -d '1992-10-25 10:10:10' +%s
720025810
[root@localhost ~]# date -d @720025810 +"%F %T"
1992-10-25 10:10:10
cal
显示日历
cal [options] [[[day] month] year]
| 选项 | 说明 |
|---|---|
| -1, --one | 只显示当前月 |
| -3, --three | 显示当前月和上下两个月 |
| -s, --sunday | 星期天为一周的第一天 |
| -m, --monday | 星期一为一周的第一天 |
| -j, --julian | 显示一年中的第几天 |
| -y, --year | 显示年份 |
[root@localhost ~]# cal -s
十月 2017
日 一 二 三 四 五 六
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
[root@localhost ~]# cal -m
十月 2017
一 二 三 四 五 六 日
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
-s和-m并不会影响某一天的星期,只是影响展示效果
参考
locale的设定及LANG、LC_CTYPE、LC_ALL环境变量
每个国家对应的语言Locale和国家代码对照表
linux系统locale的设定
十分钟搞清字符集和字符编码
字符串,那些你不知道的事
VIM 文件编码识别与乱码处理
Python字符编码详解
PYTHON-进阶-编码处理小结
Python2 中的编码问题
立即停止使用setdefaultencoding('utf-8'),以及为什么
每天一个linux命令:date命令
date命令
使用beego/go mysql /JavaScript 遇到的时间坑以及ISO-8601标准
UTC 和ISO 8601时间格式的一些疑问
关于“时间”的一次探索
一周的第一天是周一还是周日?由来是什么
JAVA Calendar类setFirstDayOfWeek和setMinimalDaysInFirstWeek
每天一个linux命令(38):cal 命令
cal命令
日历查询的算法 如何计算某一天是星期几
历史上第一个星期一是从哪天开始的,为什么是那一天