MATLAB提供了多种时间函数,用于处理日期、时间、时间戳和持续时间等。以下是一些常用的时间函数及其简要说明,同时提供一个综合示例代码来演示这些函数的使用。
常用时间函数:
now: 返回当前日期和时间。
datestr: 将日期时间转换为字符串。
datenum: 将日期时间字符串转换为日期数字。
datevec: 将日期时间数字或字符串转换为日期向量。
etime: 计算两个日期时间之间的差异(以秒为单位)。
clock: 返回当前时间(小时、分钟、秒)。
calendar: 显示日历。
tic 和 toc: 测量经过的时间。
timestamp: 创建时间戳对象。
timesince: 计算从参考时间到现在的时间长度。
duration: 创建持续时间对象。
datetime:表示日期和时间的数据类型
datestr:用于将 datetime 对象或日期数字转换为字符串表示形式.
MATLAB代码:
clc;close all;clear all;warning off;% 清除变量
format long g;
% 获取当前日期和时间
currentTime = now;
disp(['当前日期和时间: ', datestr(currentTime)]);
% 将日期时间字符串转换为日期数字
dateNumber = datenum('2023-10-23 14:30:00');
disp(['日期数字: ', num2str(dateNumber)]);
% 将日期数字转换为日期向量
dateVector = datevec(dateNumber);
disp(['日期向量: ', num2str(dateVector)]);
% 使用clock函数获取当前时间
c = clock;
c
disp(['当前时间(时:分:秒): ', c]);
% 测量时间差
tic; % 开始计时
pause(2); % 暂停2秒
elapsedTime = toc; % 停止计时并获取经过的时间
disp(['经过的时间(秒): ', num2str(elapsedTime)]);
% 使用duration函数
X = magic(3);
D = duration(X,'Format','h')
% 使用datetime函数
t = datetime('now','TimeZone','local','Format','d-MMM-y HH:mm:ss Z')
DateStrings = {'2014-05-26';'2014-08-03'};
t = datetime(DateStrings,'InputFormat','yyyy-MM-dd')
% datestr函数
dateNumber = 738686.850832292; % 示例日期数字(从某个固定日期起的天数)
dateStringFormatted = datestr(dateNumber, 'dd-MM-yyyy HH:mm:ss') % 转换为指定格式的字符串
程序结果:
当前日期和时间: 25-Feb-2024 14:19:09
日期数字: 739182.6042
日期向量: 2023 10 23 14 30 0
c =
2024 2 25 14 19 9.324
当前时间(时:分:秒): ߨ
经过的时间(秒): 2.0101
D =
8.01833333333333小时
3.08527777777778小时
4.15055555555556小时
t =
25-2月-2024 14:19:11 +0800
t =
2014-05-26
2014-08-03
dateStringFormatted =
14-25-2022 20:06:11
>>