如何20150405 12:35:12
以秒为单位打印以下日期
cur_date=20150405
cur_time=12:35:12
cur_datetime=20150405 12:35:12
这就是我正在做的:
cur_datetime=$cur_date' '$cur_1st_time
echo "PDT $prev_datetime CRT $cur_datetime"
cur_date_SEC=`date -d "$(cur_datetime)" +%s`
prev_date_SEC=`date -d "$(prev_datetime)" +%s`
echo "CD:$cur_date_SEC PD:$prev_date_SEC"
我也尝试过
`date -d "$prev_datetime" +%s`
`date -d "${prev_datetime}" +%s`
我究竟做错了什么?
答案1
首先,
$cur_date=20150405
$cur_time=12:35:12
应该
cur_date=20150405
cur_time=12:35:12
另外,不要使用反引号,它们已被弃用。语法$(...)
更易于阅读,并且可以在需要时嵌套。
这是代码中“cur”部分的重写:
#!/usr/bin/env bash
cur_date=20150405
cur_time=12:35:12
cur_datetime="$cur_date $cur_time"
echo "CRT $cur_datetime"
cur_date_SEC=$(date -d "$cur_datetime" +%s)
echo "CD: $cur_date_SEC"
我不会发布输出:由于时区差异,它很可能与您所看到的有所不同。
FWIW,外壳检查在编写 Bash 脚本时非常方便。