- Matlab 教程
- MATLAB – 首頁
- MATLAB – 概述
- MATLAB – 特性
- MATLAB – 環境設定
- MATLAB – 編輯器
- MATLAB – 線上版
- MATLAB – 工作區
- MATLAB – 語法
- MATLAB – 變數
- MATLAB – 命令
- MATLAB – 資料型別
- MATLAB – 運算子
- MATLAB – 日期和時間
- MATLAB – 數字
- MATLAB – 隨機數
- MATLAB – 字串和字元
- MATLAB – 文字格式化
- MATLAB – 時間表
- MATLAB – M 檔案
- MATLAB – 冒號表示法
- MATLAB – 資料匯入
- MATLAB – 資料匯出
- MATLAB – 資料歸一化
- MATLAB – 預定義變數
- MATLAB – 決策
- MATLAB – 決策語句
- MATLAB – if…end 語句
- MATLAB – if…else 語句
- MATLAB – if…elseif…else 語句
- MATLAB – 巢狀 if 語句
- MATLAB – switch 語句
- MATLAB – 巢狀 switch
- MATLAB – 迴圈
- MATLAB – 迴圈
- MATLAB – for 迴圈
- MATLAB – while 迴圈
- MATLAB – 巢狀迴圈
- MATLAB – break 語句
- MATLAB – continue 語句
- MATLAB – end 語句
- MATLAB – 陣列
- MATLAB – 陣列
- MATLAB – 向量
- MATLAB – 轉置運算子
- MATLAB – 陣列索引
- MATLAB – 多維陣列
- MATLAB – 相容陣列
- MATLAB – 分類陣列
- MATLAB – 元胞陣列
- MATLAB – 矩陣
- MATLAB – 稀疏矩陣
- MATLAB – 表格
- MATLAB – 結構體
- MATLAB – 陣列乘法
- MATLAB – 陣列除法
- MATLAB – 陣列函式
- MATLAB – 函式
- MATLAB – 函式
- MATLAB – 函式引數
- MATLAB – 匿名函式
- MATLAB – 巢狀函式
- MATLAB – return 語句
- MATLAB – 無返回值函式
- MATLAB – 區域性函式
- MATLAB – 全域性變數
- MATLAB – 函式控制代碼
- MATLAB – 濾波器函式
- MATLAB – 階乘
- MATLAB – 私有函式
- MATLAB – 子函式
- MATLAB – 遞迴函式
- MATLAB – 函式優先順序順序
- MATLAB – map 函式
- MATLAB – mean 函式
- MATLAB – end 函式
- MATLAB – 錯誤處理
- MATLAB – 錯誤處理
- MATLAB – try…catch 語句
- MATLAB – 除錯
- MATLAB – 繪圖
- MATLAB – 繪圖
- MATLAB – 繪製陣列
- MATLAB – 繪製向量
- MATLAB – 條形圖
- MATLAB – 直方圖
- MATLAB – 圖形
- MATLAB – 二維線圖
- MATLAB – 三維圖
- MATLAB – 格式化繪圖
- MATLAB – 對數座標軸圖
- MATLAB – 繪製誤差條
- MATLAB – 繪製三維等高線圖
- MATLAB – 極座標圖
- MATLAB – 散點圖
- MATLAB – 繪製表示式或函式
- MATLAB – 繪製矩形
- MATLAB – 繪製頻譜圖
- MATLAB – 繪製網格曲面
- MATLAB – 繪製正弦波
- MATLAB – 插值
- MATLAB – 插值
- MATLAB – 線性插值
- MATLAB – 二維陣列插值
- MATLAB – 三維陣列插值
- MATLAB – 多項式
- MATLAB – 多項式
- MATLAB – 多項式加法
- MATLAB – 多項式乘法
- MATLAB – 多項式除法
- MATLAB – 多項式的導數
- MATLAB – 變換
- MATLAB – 變換函式
- MATLAB – 拉普拉斯變換
- MATLAB – 拉普拉斯濾波器
- MATLAB – 高斯-拉普拉斯濾波器
- MATLAB – 逆傅立葉變換
- MATLAB – 傅立葉變換
- MATLAB – 快速傅立葉變換
- MATLAB – 二維逆餘弦變換
- MATLAB – 向座標軸新增圖例
- MATLAB – 面向物件
- MATLAB – 面向物件程式設計
- MATLAB – 類和物件
- MATLAB – 函式過載
- MATLAB – 運算子過載
- MATLAB – 使用者自定義類
- MATLAB – 複製物件
- MATLAB – 代數
- MATLAB – 線性代數
- MATLAB – 高斯消元法
- MATLAB – 高斯-約旦消元法
- MATLAB – 簡化行階梯形
- MATLAB – 特徵值和特徵向量
- MATLAB – 積分
- MATLAB – 積分
- MATLAB – 二重積分
- MATLAB – 梯形法則
- MATLAB – 辛普森法則
- MATLAB – 其他
- MATLAB – 微積分
- MATLAB – 微分
- MATLAB – 矩陣求逆
- MATLAB – GNU Octave
- MATLAB – Simulink
- MATLAB – 有用資源
- MATLAB – 快速指南
- MATLAB – 有用資源
- MATLAB – 討論
MATLAB – 日期和時間
Matlab 提供了豐富的命令來處理日期和時間。您可以以不同的格式顯示日期和時間,無論是字串還是字元向量。您還可以執行數學運算,例如對日期和時間值進行加、減、排序、連線和繪圖。
以下是一些帶有示例的命令,用於在 Matlab 中獲取當前日期和時間。日期和時間的陣列可以以不同的格式顯示,在這裡我們將討論 Matlab 中表示它的不同方法。
使用 date 命令
date 命令返回當前日期,格式為 dd-MMM-yyyy 的字元向量。此格式將月份的天數 (dd) 表示為數字,月份名稱 (MMM) 表示為其三個字母的縮寫,年份 (yyyy) 表示為數字。返回的日期將不考慮本地時間,而是從協調世界時 (UTC) 獲取當前日期。
語法
date
示例
a = date
當您在 Matlab 中執行此命令時,輸出將為:
a = 30-Aug-2024
使用 datetime 命令
datetime 命令返回一個帶有時間的日期,表示時間點。
- datetime – 返回一個包含當前日期和時間的陣列。
- datetime(relativeDay) – 這裡 relativeDay 可以輸入“today”、“yesterday”、“tomorrow”或“now”。
- datetime(DateStrings) – 這裡 DateStrings 可以是陣列格式的日期和時間。
- datetime(DateVectors) – 日期向量是一個 m×6 或 m×3 的矩陣。對於 m×6,它將包含日、月、年、時、分和秒。對於 m×3,它將是一個包含日、月和年的矩陣。
- datetime(Y,M,D) – 帶有年、月和日的 datetime。
- datetime(Y,M,D,H,MI,S) – 帶有年、月、日、時、分和秒的 datetime。
示例 1
只需使用 datetime() 方法即可顯示當前日期和時間,如下所示:
k = datetime
執行後的輸出如下:
>> k = datetime k = datetime 24-May-2023 07:56:32 >>
示例 2
此示例將以本地時區顯示時間。
time_now = datetime('now','TimeZone','local','Format','d-MMM-y HH:mm:ss Z')
當您在 Matlab 命令視窗中執行相同的命令時,輸出為:
>> time_now = datetime('now','TimeZone','local','Format','d-MMM-y HH:mm:ss Z')
time_now =
datetime
24-May-2023 07:48:50 +0530
>>
美國/紐約時區的日期和時間。
>> time_now = datetime('now','TimeZone','America/New_York','Format','d-MMM-y HH:mm:ss Z')
time_now =
datetime
23-May-2023 22:23:01 -0400
>>
示例 3
在此示例中,我們將日期字串作為向量陣列。
DateasStrings = {'2023-05-22';'2023-05-23'};
t = datetime(DateasStrings)
執行後,您將得到:
>> DateasStrings = {'2023-05-22';'2023-05-23'};
t = datetime(DateasStrings)
t =
2×1 datetime array
22-May-2023
23-May-2023
>>
您還可以將給定的陣列轉換為所需的格式,如下所示
DateStrings = {'2022-05-26';'2022-08-03'};
t = datetime(DateStrings, 'InputFormat','yyyy-MM-dd')
在上面,日期將轉換為 yyyy-MM-dd 格式,執行後的輸出如下:
>> DateStrings = {'2022-05-26';'2022-08-03'};
t = datetime(DateStrings ,'InputFormat','yyyy-MM-dd')
t =
2×1 datetime array
26-May-2022
03-Aug-2022
>>
示例 4
您可以將年、月和日作為輸入提供給 datetime,它將返回日期。
datetime(2023, 5, 12)
上面的輸出為:
>> datetime(2023, 5, 12) ans = datetime 12-May-2023 >>
示例 5
您可以像下面這樣輸入年、月、日、時、分和秒:
datetime(2023,5,24,8,21,5)
執行後的輸出為:
>> datetime(2023,5,24,8,21,5) ans = datetime 24-May-2023 08:21:05 >>
使用 Calendar 方法
此方法將為您提供指定年份和月份的日曆。預設情況下,它將返回當前年份和月份的日曆。
語法
calendar // current year and month will be displayed. calendar(y,m) // the given year month will be displayed calendar(d) // Here d datetime value or text timestamp that can be year month and day .As per the value of d , the calendar for that month and year will be displayed.
示例 1
讓我們檢查日曆的輸出。
calendar
輸出為:
May 2023
S M Tu W Th F S
0 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 0 0 0
0 0 0 0 0 0 0
示例 2
在此示例中,年份和月份將傳遞給日曆。
calendar(1983, 2)
輸出為:
Feb 1983
S M Tu W Th F S
0 0 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 0 0 0 0 0
0 0 0 0 0 0 0
示例 3
在此示例中,我們將使用 datetime 作為輸入傳遞給日曆,如下所示:
d = datetime("now")
calendar(d)
執行後的輸出為:
>> d = datetime("now")
calendar(d)
d =
datetime
24-May-2023 08:44:57
May 2023
S M Tu W Th F S
0 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 0 0 0
0 0 0 0 0 0 0
>>
使用 dateshift() 方法移動日期時間
dateshift() 方法負責移動日期或生成日期和時間的序列。
語法
t = dateshift(t,'start',unit) // Here t is the datetime.It will shift the datetime by the unit given to the start. t = dateshift(t,'end',unit) // Here t is the datetime. It will shift the datetime by the given unit to the end. t = dateshift(t,'dayofweek',dow) // Here datetime will be shifted to the given dayofweek, if the current date falls on the same dayofweek it will return the same date.
這裡我們將嘗試一些示例,例如將當前日期移動到年初。將當前日期移動到月末。
示例 1
在此示例中,當前日期 2023 年 5 月 24 日將移動到年初,即 2023 年 1 月 1 日。
t = datetime('today')
t1 = dateshift(t, 'start', 'year')
執行後的輸出為:
>> t = datetime('today')
t1 = dateshift(t, 'start', 'year')
t =
datetime
24-May-2023
t1 =
datetime
01-Jan-2023
>>
示例 2
在此示例中,我們將當前日期移動到月末。
t = datetime('today')
t1 = dateshift(t, 'end', 'month')
執行後的輸出為:
>> t = datetime('today')
t1 = dateshift(t, 'end', 'month')
t =
datetime
24-May-2023
t1 =
datetime
31-May-2023
>>
我們還可以使用 year 作為單位將其移動到年末。
t = datetime('today')
t1 = dateshift(t, 'end', 'year')
輸出為
>> t = datetime('today')
t1 = dateshift(t, 'end', 'year')
t =
datetime
24-May-2023
t1 =
datetime
31-Dec-2023
>>
日期和時間的算術運算
我們將討論日期和時間的算術運算,例如加法和減法。透過加法,我們將獲得未來的日期時間,透過減法,我們將獲得過去的日期時間。像加、減、乘等運算可以對日期和時間執行,就像對其他資料型別一樣。您可以使用 hours()、minutes()、days()、seconds()、years() 來對給定的日期時間進行加減。
讓我們看一些例子。
示例 1
在此示例中,我們將使用 datetime() 方法來顯示當前日期和時間。我們將新增 2 個小時,並顯示日期時間,如下所示。
time1 = datetime('now')
time2 = time1 + hours(2)
在 Matlab 中執行後的輸出如下:
>> time1 = datetime('now')
time2 = time1 + hours(2)
time1 =
datetime
17-Jun-2023 17:17:52
time2 =
datetime
17-Jun-2023 19:17:52
>>
如果您想要未來的日期和時間並顯示向量陣列,則可以按如下方式進行:
time1 = datetime('now')
time2 = time1 + hours(2:5)
執行後的輸出為:
>> time1 = datetime('now')
time2 = time1 + hours(2:5)
time1 =
datetime
17-Jun-2023 17:18:36
time2 =
1×4 datetime array
17-Jun-2023 19:18:36 17-Jun-2023 20:18:36 17-Jun-2023 21:18:36 17-Jun-2023 22:18:36
>>
在上面的示例中,您可以看到日期時間的向量陣列,它們之間的時間間隔相差 2 小時。
示例 2
在此示例中,讓我們執行減法運算,如下所示。
time1 = datetime('now')
time2 = time1 - hours(2)
datetime() 方法用於提供當前日期和時間。從給定的時間中減去 2 個小時。hours(2) 用於提供小時數,類似地,您可以使用 minutes() 方法從給定的時間中減去分鐘數。
>> time1 = datetime('now')
time2 = time1 - hours(2)
time1 =
datetime
17-Jun-2023 17:22:27
time2 =
datetime
17-Jun-2023 15:22:27
>>
讓我們也使用 minutes() 方法,如下所示。
time1 = datetime('now')
time2 = time1 - minutes(45)
執行後的輸出如下:
>> time1 = datetime('now')
time2 = time1 - minutes(45)
time1 =
datetime
17-Jun-2023 17:26:54
time2 =
datetime
17-Jun-2023 16:41:54
>>
讓我們也嘗試使用減法運算來獲取向量陣列,如下所示
time1 = datetime('now')
time2 = time1 - hours(2:5)
執行後的輸出如下:
>> time1 = datetime('now')
time2 = time1 - hours(2:5)
time1 =
datetime
17-Jun-2023 17:32:04
time2 =
1×4 datetime array
17-Jun-2023 15:32:04 17-Jun-2023 14:32:04 17-Jun-2023 13:32:04 17-Jun-2023 12:32:04
>>
示例 3
在上面的示例中,我們使用了 hours()、minutes()、datetime() 方法進行加減。現在讓我們使用 days() 方法來獲取未來的或過去的日期。
time1 = datetime('now')
time2 = time1 + days(5)
在上述情況下,將向當前日期新增 5 天,並顯示日期時間。
執行後的輸出如下:
>> time1 = datetime('now')
time2 = time1 + days(5)
time1 =
datetime
17-Jun-2023 17:42:42
time2 =
datetime
22-Jun-2023 17:42:42
>>
讓我們也使用 days() 方法減去並獲取過去的日期時間。
time1 = datetime('now')
time2 = time1 - days(5)
執行後的輸出如下:
>> time1 = datetime('now')
time2 = time1 - days(5)
time1 =
datetime
17-Jun-2023 17:45:19
time2 =
datetime
12-Jun-2023 17:45:19
>>