如何以秒为单位打印连接的日期和时间

如何以秒为单位打印连接的日期和时间

如何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 脚本时非常方便。

相关内容