减去更改日期的给定特定时间:

时间:2016-02-23 06:36:19

标签: perl date

我必须使用perl或shell将 IST (印度)转换为 EET (芬兰)时间... 意味着我必须从给定的特定(ISD)时间(不是从当前时间)减去3小时30分钟。 时间采用以下格式:YYYY-MM-DD HH:MM:SS

例如:IST:2016-01-01 02:30:00

然后减去3小时30分钟后,我应该得到,

        EET:   2015-12-31 23:00:00

事情是减去后,如果需要,日期,月份和年份也应该改变。

我可以使用perl吗?任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:1)

我不打算给你实际的代码,因为你没有证明你已经做了任何努力来解决这个问题。

但是这样做的方法是使用真正的日期/时间处理库。在Perl中,这可能意味着DateTime。您可以使用DateTime::Format::Strptime从字符串生成DateTime对象。

总之,您的方法应该是:

  • 将您的字符串解析为DateTime对象(小心确保解析对象知道时区是ISD(冰岛时间,我假设[更新:或更可能是印度])
  • 将已解析对象中的时区转换为EET。
  • 使用已解析对象的strftime方法在正确的输出中生成输出时间。

更新:我只会添加有关处理日期和时间的标准建议。您应始终以UTC格式传输和存储日期和时间。只应向用户显示本地时区。