视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
matlab时间获得
2025-09-30 19:38:45 责编:小OO
文档
matlab中如何获取当前日期时间

matlab中如何获取当前日期时间函数的具体应用如下:

1.date:按照日期字符串格式返回当前系统日期

2.now:按照连续的日期数值格式返回当前系统时间

3.clock:按照日期向量格式返回当前系统时间

>>date,now,clock

ans =

29-Nov-2008

ans =

   7.3374e+005

ans =

   1.0e+003 *

2.0080 0.0110 0.0290 0.0160 0.0410 0.0259

matlab中分别使用year,month,day,hour,minute,second从上面讲到的字符串和连续型日期时间格式中提取年月日时分秒等信息

>>[year(date),year(now)]

ans =

       2008        2008

注意:上面的函数是没法从向量型日期时间格式中正确读取上述信息的

>>year(clock)

ans =

    5     0     0     0     0     0

Matlab中处理日期与时间的函数详解

Matlab用三种格式来表示日期与时间

(1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0点钟被表示为7336,而这同一天的中午12点就被表示为7336.5,也就是说任何一个时刻都可以用一个双精度型数字表示。

(2)不同形式的日期字符串:Matlab定义了28种标准日期格式的字符串。

(3)数值型的日期向量:用一个6元数组来表示一个日期时间,例如,[2008 8 26 12 5 0]表示2008年8月26日12点05分0秒;用一个3元数组来表示一个日期,例如,[2008 8 26]表示2008年8月26日。

用日期数字表示日期使计算机更容易计算,但是不直观,因此Matlab提供了许多函数来实现三种日期格式之间的转化。

(1)datestr: 实现将日期数字和日期向量转化为日期字符串,可以在Matlab命令窗口中输入help datestr来查看关于datestr的用法。

(2)datenum: 实现将日期字符串和日期向量转化为日期数字,可以在Matlab命令窗口中输入help datenum来查看关于datenum的用法。

(3)datevec: 实现将日期数字和日期字符串转化为日期向量,可以在Matlab命令窗口中输入来help datevec查看关于datevec的用法。

Matlab中其他常用的函数:

(1)clock:将当前时间和日期返回到一个(6元)数组中。

>> T = clock

T =

      2008    8    26    12     31    32.75

注:直接输出clock时,可能会以科学计数法的方式输出,

 clock

ans =

  1.0e+003 *

    2.0100    0.0010    0.0280    0.0190    0.0280    0.0296

用fix(clock) 则能输出易于阅读的形式

fix(clock)

ans =

        2010           1          28          19          28          48

(2)now:将当前时间和日期以一个双精度型日期数字返回。

>> t = now

t =

  7.3365e+005

(3)date:将当前时间和日期以dd-mmm-yyyy格式的字符串返回。

>> d = date

d =

26-Aug-2008

(4)weekday:返回一个日期数字或一个日期字符串的星期及一个星期中的第几天。

>> [d,w]=weekday('26-Aug-2008')

d =

     3

w =

Tue

>> [d,w]=weekday(7336)

d =

     3

w =

Tue

(5)eomday:返回一个月的最后一天。

>> eomday(2008,2)

ans =

29

(6)calendar:对用户要求的任何一个月生一个日历并显示在命令窗口中,或将其放在一个6×7的矩阵中。

>> calendar(2008,8)

                   Aug 2008

     S     M    Tu     W    Th     F     S

     0     0     0     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    29    30

    31     0     0     0     0     0     0

>> c=calendar(2008,8)

c =

     0     0     0     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    29    30

    31     0     0     0     0     0     0

(7)tic,toc:函数tic和toc被用来对一组Matlab运算进行计时。Tic启动一个秒表,toc停止这个秒表并计算出所经历的时间。

>> tic;plot(rand(50,5));toc

Elapsed time is 3.302510 seconds.

(8)cputime:函数cputime返回用秒表示的、自从当前的Matlab周期启动之后Matlab所占用的CPU时间。

(9)datetick:用来自动完成对数据进行图形显示并且用日期或时间字符串来作坐标的标签。

>> y=[1998 1998 1999*ones(1,12)];

>> m=[11 12 (1:12)];

>> s=[1.1 1.3 1.2 1.4 1.6 1.5 1.7 1.6 1.8 1.3 1.9 1.7 1.6 1.95];

>> bar(datenum(y,m,1),s)

>> datetick('x','mmmyy')

>> ylabel('$ Million')

>> title('Figure 15.2:Monthly Sales')

 

 

1.now 返回当前的日期值(这个数的整数部分表示从公元0年1月1日到该日的天数,小数部分则表示具体的时刻)

eg.

t=now

t =7.3354e+005

2.datestr 日期转换成字符形式

调用格式 datestr(date,dateform) date为要转换的日期值,dateform为日期格式参数(具体参数值可通过 help datestr查看帮助)

dateform参数说明

      DATEFORM number    DATEFORM string          Example

     ===========================================================================

        0              'dd-mmm-yyyy HH:MM:SS'    01-Mar-2000 15:45:17

        1              'dd-mmm-yyyy'             01-Mar-2000

        2              'mm/dd/yy'                03/01/00     

        3              'mmm'                     Mar          

        4              'm'                       M            

        5              'mm'                      03            

        6              'mm/dd'                   03/01        

        7              'dd'                      01            

        8              'ddd'                     Wed          

        9              'd'                       W            

       10              'yyyy'                    2000         

       11              'yy'                      00           

       12              'mmmyy'                   Mar00        

       13              'HH:MM:SS'                15:45:17     

       14              'HH:MM:SS PM'              3:45:17 PM

       15              'HH:MM'                   15:45        

       16              'HH:MM PM'                 3:45 PM     

       17              'QQ-YY'                   Q1-96        

       18              'QQ'                      Q1           

       19              'dd/mm'                   01/03        

       20              'dd/mm/yy'                01/03/00     

       21              'mmm.dd,yyyy HH:MM:SS'    Mar.01,2000 15:45:17

       22              'mmm.dd,yyyy'             Mar.01,2000

       23              'mm/dd/yyyy'              03/01/2000

       24              'dd/mm/yyyy'              01/03/2000

       25              'yy/mm/dd'                00/03/01

       26              'yyyy/mm/dd'              2000/03/01

       27              'QQ-YYYY'                 Q1-1996        

       28              'mmmyyyy'                 Mar2000        

       29 (ISO 8601) 'yyyy-mm-dd'              2000-03-01

       30 (ISO 8601) 'yyyymmddTHHMMSS'         20000301T154517

       31              'yyyy-mm-dd HH:MM:SS'     2000-03-01 15:45:17eg.

>> t=now;datestr(t,0)ans =09-May-2008 21:07:233.date将字符串转换成日期值

调用语法:date(year,month,day)

          datenum(year,month,day,hour,minute,second)

eg.>> t=now;datestr(t,0)ans =09-May-2008 21:07:23>> datenum(ans)

ans =7.3354e+005>>4.datevec将datestr中指定的格式日期字符转换成包含日期分量的数值向量

eg.

>>c=datevec('09-May-2008 21:07:23')c =         2008            5            9           21            7           23

5.weekday 可从一个日期值或字符串中找出具体的日子和星期。

eg.

>> [d,w]=weekday( 7.3354e+005)d =      2

w =Mon>>[d,w]=weekday('21-Dec-2008')d =      1

w =Sun6.eomday 返回任何一个月最后一天是几号

调用语法:eomday(year,month) 因为闰年的存在故需要year这个参数。

eg.>> eomday(2008,2)ans =     29>> eomday(2007,2)ans =     287.calendar 生成指定月份的日历。

eg

>> calendar(date)

                    May 2008

      S      M     Tu      W     Th      F      S

      0      0      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     29     30     31

      0      0      0      0      0      0      0

>> calendar(2008,5)

                    May 2008

      S      M     Tu      W     Th      F      S

      0      0      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     29     30     31

      0      0      0      0      0      0      0>>

补充:date返回当天日期的字符串

eg.

>> dateans =09-May-20088.tic ,toc 两个结合使用可计算一组matlab操作指令的执行所需时间

eg.

>> tic; plot(rand(500,5));toc

Elapsed time is 0.078000 seconds.

另外Matlab还提供了cputime和etime(具体使用方法可看帮助文档),用来计算一次运算所占cpu时间.

eg.

>>t0=cputime;myoperation;cputime-t0

ans=0.1400

>>t1=clock;myoperation;etime(clock,t1)

ans=11.2800

注:myoperation为用户自定义脚本文件

>> t0=cputimet0 =    53.8125>> t1=cputimet1 =    54.0313>> deltaT=t1-t0deltaT =     0.2188

>> t1=clockt1 =1.0e+003 *     2.0080     0.0050     0.0090     0.0210     0.0460     0.0254>> deltaT=etime(t1,t0)deltaT =     9.9060>>

9.datetick 设一个坐标为时间标签eg.

>> t=(1900:10:1990)';

>> p=[100 200 150 350 200 400 500 100 30 120];

>> plot(datenum(t,1,1),p);

>> datetick('x','yyyy')

>> title('test time tip')下载本文

显示全文
专题