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

(1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0点钟被表示为733646,而这同一天的中午12点就被表示为733646.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(733646)

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')

常用的日期操作函数

datestr(d,f) 将日期数字转换为字符串

datenum(str,f) 将字符串转换为日期数字

datevec(str) 日期字符串转换向量

weekday(d)

计算星期数

eomday(yr,mth) 计算指定月份最后一天

calendar(str) 返回日历矩阵

clock 当前日期和时间的日期向量

date 当前日期字符串

now

当前日期和时间的序列数

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

一、date

,now,clock

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

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

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

>>

date,now,clock

ans =

09-Apr-2011

ans

=

7.3460e+005

ans

=

1.0e+003 *

2.0110    0.0040    0.0090    0.0170    0.0430    0.0470

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

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

ans

=

2011

2011

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

>>year(clock)

ans =

5     0     0     0     0     0

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

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

(1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0点钟被表示为733646,而这同一天的中午12点就被表示为733646.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(733646)

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')

matlab产生时间数组以月为单位_Matlab中处理日期与时间的函数相关推荐

  1. matlab产生时间数组以月为单位_MATLAB时间与日期的基本操作

    7.2  日期和时间元素 本小节将为读者介绍如何对指定日期和时间元素的数值进行提取,另外如何通过datetime的属性来对指定的元素进行赋值.MATLAB提供了如下函数进行元素操作,请见表3-12. ...

  2. matlab产生时间数组以月为单位_MATLAB的时间与日期

    7 日期和时间 MATLAB在2014b版本中将日期和时间独立成了一个数据类型,新的版本中对于时间数据的处理功能更为强大.比如datetime和duration等函数,可以支持对时间的高效计算.对比. ...

  3. 更新域内计算机时间,Word2013如何自动更新文档中的日期和时间?如何设置打印前自动更新域...

    在Word2013文档中插入日期和时间,如何实现自动更新,下面小编就给大家介绍一下Word2013中自动更新文档中的日期和时间的方法,而且,使用这个办法还可以插入会自动更新的时间,最后,还给大家分享了 ...

  4. c语言获取时间并存储,如何在C程序中获取日期和时间值?

    strftime (C89) 马丁提到过,这是一个例子: main.c #include #include #include int main(void) { time_t t = time(NULL ...

  5. MySQL中的日期和时间类型

    文章目录 1 MySQL中的日期和时间类型 1 MySQL中的日期和时间类型 日期与时间类型是为了方便在数据库中存储日期和时间而设计的,数据库有多种表示日期和时间的数据类型.其中,YEAR类型表示年, ...

  6. Matlab:表示 MATLAB 中的日期和时间

    Matlab:表示 MATLAB 中的日期和时间 储日期和时间信息的主要方法是使用 datetime 数组,该数组支持算术运算.排序.比较.绘图和格式化显示方式.算术差异的结果在 duration 数 ...

  7. matlab得到计算机时间,Matlab中处理日期与时间的函数

    Matlab用三种格式来表示日期与时间 (1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0点钟被表示为733646,而这同一天的中午12点就被表示 ...

  8. android 一天多少毫秒,Android中的日期和时间以毫秒为单位

    我试图将给定的日期和时间转换为毫秒.我无法实现它.Android中的日期和时间以毫秒为单位 下面是日期和时间格式 02 - 07(DD - MM) 上午八时五十分00秒(HH毫米SS一) 这是我曾尝试 ...

  9. C++中的日期和时间

    1.C++中的时间和日期 C++标准库没有提供所谓的日期类型,C++继承了C语言用于日期和时间操作的结构和函数.为了使用日期和时间相关的函数和结构,需要在C++程序中引用"ctime&quo ...

最新文章

  1. React 中报错:Unexpected reserved word ‘await‘
  2. oracle 数据库管理员职责
  3. 2016年定制维护组总结-历程回溯
  4. GDI+中常见的几个问题(6)
  5. 【Elasticsearch】Elasticsearch 集群健康值黄色 解决方案 或者 分片 未分配
  6. python中copytree的用法_python复制文件的方法实例详解
  7. 多态应用-打印商品价格案例
  8. Class的三种构造方法
  9. python方向是干什么的_Python有哪些应用方向 在数据分析上有什么优势
  10. ISO20000与ITIL、ISO27000、CMMI、BS25999的相互区别
  11. 深海迷航坐标传送代码_深海迷航全资源坐标一览 美丽水世界坐标位置介绍
  12. windows10完全卸载windows自带的skype
  13. ubuntu中screen的使用
  14. 网络通信学习(四)——通过接入网进入互联网内部,探索接入网和网络运营商
  15. Windows如何查看IIS访问IP记录
  16. 小程序PHP字体,微信小程序在text文本实现多种字体样式
  17. (二)基于kubernetes(1.25.2) 进行基础prometheus监控
  18. sqlitespy可以打开MySQL吗_SQLite 数据库访问
  19. 你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。 如输入1234,则输出: yi er san si 注意,每个字的拼音之间有一个空格
  20. linux应用/软件设置为系统服务

热门文章

  1. 计算机软件集成项目工程师上海,2021年上海系统集成项目管理工程师报名时间和报名入口...
  2. mysql使用释放资源_数据库--释放mysql数据库资源
  3. 底部菜单_css实现移动端底部导航菜单隆起效果
  4. 【数理知识】《矩阵论》方保镕老师-第3章-矩阵的分解
  5. 3.1 神经网络概览-深度学习-Stanford吴恩达教授
  6. UDP分两次接收数据包 MSG_PEEK
  7. 4.Verilog 基础语法
  8. Linux快速入门打开你的学习之道
  9. HDFS 常用操作分类汇总整理
  10. 表单验证,添加动态class