MATLAB如何获取和转换日期/时间?

MATLAB如何获取和转换日期/时间?

 

介绍MATLAB中的时间获取与时间类型转换。

工具/原料

 
  • MATLAB R2016a

datetime函数获取日期时间

 
  1. 1

    获取时间常用datetime函数。直接使用datetime就可以得到当前时间。

    datetime函数可以有一个参数'now'(与直接用效果相同),'yesterday'/'today'/'tomorrow'获取昨天今天明天的日期。

    MATLAB如何获取和转换日期/时间?
    MATLAB如何获取和转换日期/时间?
  2. 2

    datetime返回得到的datetime数据类型有属性,如图,可以使用t.Year/Month/Day/Hour/Minute/Second访问详细的时间信息。

    datetime还有Format属性(显示格式)和TimeZone属性(时区)。

    MATLAB如何获取和转换日期/时间?
  3. 3

    datetime获取时间时,有丰富的设置选项。如图,可以设置TimeZone选项(时区),'Format'选项(时间的显示格式)。

    MATLAB如何获取和转换日期/时间?
    END

datetime函数转化日期时间

 
  1. 1

    使用datetime可以从表示时间的字符串中转化得到datetime类型。

    通常需要指定'InputFormat',即输入格式。忽略的话,该函数会尝试一些常见格式。

    有时候,还需要指定'TimeZone',即时区。

    MATLAB如何获取和转换日期/时间?
    MATLAB如何获取和转换日期/时间?
  2. 2

    使用datetime把一个其它语言和地区的时间格式转化成datetime类型,需要指定'Locale'参数。如图,指定'Locale'为'fr_FR',以法语形式转换得到时间。

    MATLAB如何获取和转换日期/时间?
  3. 3

    使用datetime也可以从年,月,日,小时,分钟,秒,毫秒最多7个列表转换得到时间。如图,从年月日三个列表转换得到时间。

    MATLAB如何获取和转换日期/时间?
  4. 4

    datetime还可以指定'ConvertFrom'参数,然后按照一些特定格式转化得到时间。

    比如'excel'按照excel日期数据转换,'posixtime'将数据视为1970-1-1 00:00:00起至今的秒数。其它略。

    MATLAB如何获取和转换日期/时间?
    END

部分参数的详细信息

 
  1. 1

    这里列出部分常见'TimeZone'选项。详细的选项请查阅官方帮助文档。

    MATLAB如何获取和转换日期/时间?
  2. 2

    这些是Locale值,比如'zh_CN'表示中文,中国;'en_US'表示英语,美国。

    MATLAB如何获取和转换日期/时间?
  3. 3

    这里列出了一些格式样例。datetime类型的格式(Format)有自己的一套详细规则,在此略去。

    MATLAB如何获取和转换日期/时间?
    END

注意事项

 
  • 编程时比较常见的是posixtime类型时间的获取,即1970-1-1 00:00:00至今的秒数。可以用datetime加'ConvertFrom'参数获取,也可以直接使用posixtime函数将datetime类型转化为秒数。获取的秒数是浮点数,有小数部分。
posted @ 2018-06-11 22:08  菜鸡一枚  阅读(14028)  评论(0编辑  收藏  举报