如何在unix中设置字符串为时间戳?

用户名

我在unix脚本中有一个String变量,其数据如' 2017010110'(格式如- %Y%m%d%H)。请注意,它不是系统时间戳。

现在我需要从中减去-1小时2017010110表示输出应为2017010109我尝试从变量中减去1。

但是当输入为2017010100时,很明显我会得到错误的输出2017010099(预期输出为2016123123)。

好像我必须将我的String变量设置为unix中的timestamp,以使这种1小时的减法发生。

在bash命令中提到了将日期时间字符串转换为UNIX时间戳,但是找不到任何运气。

有人可以帮我吗?

弗雷德

看一下下面的代码:

#!/bin/bash
ts="2017010100"
d="[0-9]"
if
  [[ "$ts" =~ ($d$d$d$d)($d$d)($d$d)($d$d) ]]
then
  year="${BASH_REMATCH[1]}"
  month="${BASH_REMATCH[2]}"
  day="${BASH_REMATCH[3]}"
  hour="${BASH_REMATCH[4]}"
  timezone=EST
  adjusted_ts="$(date -d "$year-$month-$day $hour:00:00 $timezone - 1 hour" "+%Y%m%d%H")"
  echo "$adjusted_ts"
else
  echo "Invalid timestamp"
fi

这段代码将您的时间戳划分为各个字段,date以其理解的时间格式为GNU馈送并删除一小时,并为该date命令的输出设置一个变量该代码是特定于Bash的(使用Bash regex匹配),但是它为您提供了一个总体思路。

请注意,我被迫指定时区,否则(至少在我的系统上)存在某种偏移(可能与UTC有关),这会弄乱结果。我还没有找到一种指定某种“本地”时区的方法,该方法可以避免将系统时区嵌入到字符串中。我将不胜感激任何建议,以改善此问题并使代码与时区无关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Java 中将字符串 AM/PM 日期转换为时间戳?

来自分类Dev

如何在SQL中使用带有.net时间戳字符串的PARSE作为时间?

来自分类Dev

字符串将“ Fri Dec 16 16:12:24 CST 2016”设置为时间戳

来自分类Dev

如何将时间字符串转换为时间戳

来自分类Dev

如何在angular2中将秒转换为时间字符串?

来自分类Dev

如何在angular2中将秒转换为时间字符串?

来自分类Dev

将此字符串转换为时间戳PHP

来自分类Dev

PyYAML将字符串解释为时间戳

来自分类Dev

Firebase将字符串转换为时间戳

来自分类Dev

在Hive中将字符串转换为时间戳

来自分类Dev

从字符串转换为时间戳然后返回

来自分类Dev

在AWS Athena中将字符串解析为时间戳

来自分类Dev

将字符串转换为时间戳

来自分类Dev

将此字符串转换为时间戳PHP

来自分类Dev

将字符串[]转换为时间戳

来自分类Dev

将日期字符串转换为时间戳

来自分类Dev

输入的字符串:日期转换为时间戳

来自分类Dev

在MonetDB中将字符串转换为时间戳

来自分类Dev

PyYAML将字符串解释为时间戳

来自分类Dev

Datastage字符串转换为时间戳

来自分类Dev

如何将多个日期格式的字符串转换为时区格式的时间戳

来自分类Dev

如何将字符串转换为时间戳

来自分类Dev

如何将此字符串转换为时间戳

来自分类Dev

Pandas - 如何将带空格的字符串转换为时间戳?

来自分类Dev

pandas:to_list用于将时间戳存储为时代。如何以ISO格式存储时间戳字符串

来自分类Dev

将时间戳字符串转换为时间戳整数php

来自分类Dev

将时间戳字符串转换为时间戳整数php

来自分类Dev

在Python中将字符串转换为时间戳的不同格式的时间戳

来自分类Dev

如何将带有时区的奇怪日期时间字符串转换为时间戳(PySpark)

Related 相关文章

  1. 1

    如何在 Java 中将字符串 AM/PM 日期转换为时间戳?

  2. 2

    如何在SQL中使用带有.net时间戳字符串的PARSE作为时间?

  3. 3

    字符串将“ Fri Dec 16 16:12:24 CST 2016”设置为时间戳

  4. 4

    如何将时间字符串转换为时间戳

  5. 5

    如何在angular2中将秒转换为时间字符串?

  6. 6

    如何在angular2中将秒转换为时间字符串?

  7. 7

    将此字符串转换为时间戳PHP

  8. 8

    PyYAML将字符串解释为时间戳

  9. 9

    Firebase将字符串转换为时间戳

  10. 10

    在Hive中将字符串转换为时间戳

  11. 11

    从字符串转换为时间戳然后返回

  12. 12

    在AWS Athena中将字符串解析为时间戳

  13. 13

    将字符串转换为时间戳

  14. 14

    将此字符串转换为时间戳PHP

  15. 15

    将字符串[]转换为时间戳

  16. 16

    将日期字符串转换为时间戳

  17. 17

    输入的字符串:日期转换为时间戳

  18. 18

    在MonetDB中将字符串转换为时间戳

  19. 19

    PyYAML将字符串解释为时间戳

  20. 20

    Datastage字符串转换为时间戳

  21. 21

    如何将多个日期格式的字符串转换为时区格式的时间戳

  22. 22

    如何将字符串转换为时间戳

  23. 23

    如何将此字符串转换为时间戳

  24. 24

    Pandas - 如何将带空格的字符串转换为时间戳?

  25. 25

    pandas:to_list用于将时间戳存储为时代。如何以ISO格式存储时间戳字符串

  26. 26

    将时间戳字符串转换为时间戳整数php

  27. 27

    将时间戳字符串转换为时间戳整数php

  28. 28

    在Python中将字符串转换为时间戳的不同格式的时间戳

  29. 29

    如何将带有时区的奇怪日期时间字符串转换为时间戳(PySpark)

热门标签

归档