【问题标题】:Time conversion to Epoch seconds时间转换为纪元秒
【发布时间】:2016-01-12 00:35:24
【问题描述】:

有没有办法在 MATLAB 中将 time= 08/10/2014 23:34:02 转换为 Epoch 秒(数字数组)?

【问题讨论】:

  • 等等,你想要Epoch秒对吗?
  • 是的,我想要纪元秒。
  • 现在日期/时间是什么格式?一个字符串?
  • @hbaderts 是的,它现在是一个字符串

标签: matlab epoch


【解决方案1】:

所以你想要的 Unix 标准可以如下计算:

InputDate=datenum('20141008 233402','yyyymmdd HHMMSS');
UnixOrigin=datenum('19700101 000000','yyyymmdd HHMMSS');

EpochSecond=round((InputDate-UnixOrigin)*86400);

>> 1412811242

编辑 OP 的日期格式:

MYSTRING = '08/10/2014 23:34:02';
InputDate = datenum(MYSTRING,'dd/mm/yyyy HH:MM:SS');
UnixOrigin=datenum('19700101 000000','yyyymmdd HHMMSS'); %//This can stay the same, unless you want to change it for consistency.
EpochSecond=round((InputDate-UnixOrigin)*86400);

>>1412811242

【讨论】:

  • 感谢您的帮助。你能解释一下如何将“08/10/2014 23:34:02”转换为“20141008 233402”吗?
  • @Bob,它是 yyyymmdd 格式,这意味着 2014 是 yyyy(4 位数的年份)、10(10 月 - 我在英国,这是日期的表示方式)和 08(第 8 天)。
  • 您能告诉我如何在 matlab 中将“08/10/2014 23:34:02”字符串转换为“yyyymmdd HHMMSS”格式吗?实际上我有很多用于转换...
  • @Bob 您想使用 datenum 将您的日期转换为 Matlab 日期数字。因此,如果您的字符串显示 MYSTRING = '08/10/2014 23:34:02' 您可以使用 datenum(MYSTRING,'dd/mm/yyyy HH:MM:SS') 将其转换为正确的日期编号跨度>
猜你喜欢
  • 2012-03-08
  • 1970-01-01
  • 2023-04-09
  • 2013-03-02
  • 2021-12-11
  • 2020-09-14
  • 1970-01-01
  • 1970-01-01
  • 2014-03-14
相关资源
最近更新 更多