1. datetime
函数
datetime
用于表示具体的日期和时间(时间点)。
基本语法
dt = datetime
dt = datetime(year, month, day)
dt = datetime(year, month, day, hour, minute, second)
dt = datetime(dateString)
dt = datetime(dateString, 'InputFormat', format)
主要功能
-
创建
datetime
对象:-
从年、月、日、时、分、秒创建:
dt = datetime(2024, 1, 1, 5, 12, 15); % 2024 年 1 月 1 日 05:12:15
-
从字符串创建:
dt = datetime('2024-01-01 05:12:15', 'InputFormat', 'yyyy-MM-dd HH:mm:ss');
-
-
获取当前时间:
dt = datetime('now'); % 当前日期和时间
-
提取日期时间分量:
year = dt.Year; % 年 month = dt.Month; % 月 day = dt.Day; % 日 hour = dt.Hour; % 时 minute = dt.Minute;% 分 second = dt.Second;% 秒
-
日期时间计算:
-
加减
duration
或calendarDuration
对象:dt2 = dt + hours(3); % 加 3 小时 dt3 = dt - days(5); % 减 5 天
-
格式化输出:
formattedStr = datestr(dt, 'yyyy-mm-dd HH:MM:SS'); % 转换为字符串
2. duration
函数
duration
用于表示时间间隔(例如小时、分钟、秒)。
基本语法
D = duration(hours, minutes, seconds)
D = seconds(X)
D = minutes(X)
D = hours(X)
主要功能
-
创建
duration
对象:-
从小时、分钟、秒创建:
D = duration(2, 30, 45); % 2 小时 30 分钟 45 秒
-
从秒数创建:
D = seconds(9045); % 9045 秒
-
-
提取时间分量:
h = hours(D); % 小时 m = minutes(D); % 分钟 s = seconds(D); % 秒
-
时间间隔计算:
-
支持加减乘除:
D1 = duration(1, 30, 0); % 1 小时 30 分钟 D2 = duration(0, 45, 0); % 45 分钟 D3 = D1 + D2; % 2 小时 15 分钟
-
-
格式化输出:
str = char(D); % 转换为字符串,默认格式为 hh:mm:ss
3. datetime
和 duration
的区别
特性 | datetime | duration |
---|---|---|
用途 | 表示时间点(具体日期和时间) | 表示时间间隔(小时、分钟、秒) |
内部表示 | 日期和时间 | 以秒为单位的时间间隔 |
创建方式 | 从年、月、日、时、分、秒或字符串创建 | 从小时、分钟、秒或秒数创建 |
支持的操作 | 加减 duration 或 calendarDuration | 加减乘除 |
典型应用场景 | 处理具体时间点、时间序列数据 | 计算时间差、表示时间长度 |
4. datetime
和 duration
的结合使用
datetime
和 duration
可以结合使用,进行日期时间的加减操作。
示例
% 创建一个 datetime 对象
dt = datetime(2024, 1, 1, 5, 12, 15); % 2024 年 1 月 1 日 05:12:15
% 创建一个 duration 对象
D = duration(2, 30, 0); % 2 小时 30 分钟
% 相加
dt_new = dt + D; % 2024 年 1 月 1 日 07:42:15
% 显示结果
disp(dt_new);
5. 总结
-
datetime
:用于表示具体的日期和时间,适合处理时间点。 -
duration
:用于表示时间间隔,适合处理时间长度。 -
两者可以结合使用,进行日期时间的加减操作。