使用格式字符串将日期转换为纪元

时间:2016-05-03 19:53:34

标签: perl awk

我需要使用我的bash脚本将字符串转换为秒(自纪元以来)使用FORMAT字符串,其中日期和格式字符串由用户提供。它似乎可以在 date 这样的BSD版本中完成,

date -j -f "$format" "$date" +%s //format can be anything, e.g. "%Y %m %d %H:%M"

但我使用的是Ubuntu。有没有办法用bash / awk / perl等来实现这个目的?

3 个答案:

答案 0 :(得分:3)

date -d "$date" +%s

例如,

$ date='2016 05 03 16:00' date -d "$date" +%s
1462248000

无法指定传递给-d的日期格式,但没有理由这样做。 date使用可以正确处理日期格式的启发式方法。

如果启发式未处理格式,则您无法使用GNU date

答案 1 :(得分:1)

我建议您使用Perl,其核心Time::Piece模块

class App(object):
    def __init__(self):
        self.root = Tk()
        self.root.attributes('-zoomed', True)

        f1 = Frame(self.root, bd=1, bg="green", relief=SUNKEN)
        f2 = Frame(self.root, bd=1, bg="red", relief=SUNKEN)
        f3 = Frame(self.root, bd=1, bg="blue", relief=SUNKEN)

        split = 0.5
        f1.place(relx=0, relheight=1, relwidth=split)
        f2.place(relx=split, relheight=1, relwidth=1.0 - split)
        f3.place(height=50, width=self.screen_width)

app = App()
app.root.mainloop()

答案 2 :(得分:-2)

支持date的{​​{1}}:

%s

对于Perl:

date +%s