MATLAB 中規定了 3 種日期和時間格式——日期字元、序列日期數和日期向量, 分別舉例如下:
日期字元 '25-Nov-2019 09:58:59'
日期向量 [2019 11 25 09 58 59]
序列日期數 7.3188e+005
MATLAB日期字串
用日期字串顯示日期和時間資訊,有多種不同的風格樣式。
例如,2019 年 11 月 25 日上午 10:08:22 可以表示為:
25-Nov-2019 10:08:22
也可以表示為:
25/04/19
10:08:22
MATLAB序列日期數
序列日期數表示從一個固定的日期開始到指定的日期經過了多少天。
在 MATLAB 中,序列日期數 1 代表 0000 年的 1 月 1 日;而 0000 年僅是一個參考點,不是特定的一個實際年。
MATLAB 也使用序列時間表示一天中的幾分之幾,例如,下午 6 點等於 0.75 日。
now() 函數能夠得到當前日時的序列日期數:
>> dt = now
dt =
7.3710e+05
MATLAB日期向量
日期向量是 MATLAB 一些函數的內部格式,使用者不能在計算機中使用它們。日期向量包含元素 [year month day hour minute seconds]。
clock() 函數返回當前日時的日期向量。
>> clock
ans =
1.0e+03 *
2.0180 0.0020 0.0040 0.0210 0.0160 0.0117
轉換日期格式
不同日期相互轉換的函數有 datenum()、datestr() 和 datevec()。其中,datenum() 是把其他格式轉換為序列日期數,datestr() 是把其他格式轉換為字串。datevec() 是把其他格式轉換為日期向量。
例如:
>> t = datenum('25/11/2019 10:20')
t =
7.3710e+05
>> datevec(t)
ans =
2019 11 25 10 20 0