来源:https://ww2.mathworks.cn/help/matlab/ref/datestr.html?searchHighlight=datestr&s_tid=doc_srchtitle

datestr

将日期和时间转换为字符串格式

全页折叠
 

说明

datestr 函数创建一个字符数组,用来显示一个或多个时间点。但是,表示时间点的最佳方式是使用 datetime 数据类型。

示例

DateString = datestr(t) 将输入数组 t 中的日期时间值转换为表示日期和时间的文本。但是,您也可以使用 charcellstrstring 函数将 datetime 值表示为文本。

datestr 函数返回包含 m 行的字符数组,其中 mt 中的日期时间值的总数。默认情况下,datestr 以 day-month-year hour:minute:second 格式返回文本。如果 hour:minute:second 是 00:00:00,则返回的文本的格式为 day-month-year。

示例

DateString = datestr(DateVector) 将日期向量转换为表示日期和时间的文本。datestr 函数返回包含 m 行的字符数组,其中 mDateVector 中的日期向量的总数。

示例

DateString = datestr(DateNumber) 将日期序列值转换为表示日期和时间的文本。datestr 函数返回包含 m 行的字符数组,其中 mDateNumber 中的日期值的总数。

示例

DateString = datestr(___,formatOut) 使用 formatOut 指定输出文本的格式。您可以将 formatOut 与上述语法中的任何输入参数结合使用。

DateString = datestr(DateStringIn)DateStringIn 转换为 day-month-year hour:minute:second 格式的文本。以 DateStringIn 表示的所有日期和时间必须具有相同的格式。

示例

DateString = datestr(DateStringIn,formatOut,PivotYear)formatOut 指定的格式将 DateStringIn 转换为 DateString,并使用可选的 PivotYear 解释以双字符形式指定年份的文本。

示例

DateString = datestr(___,'local') 返回以当前区域设置的语言表示的日期。此语言是您通过计算机的操作系统选择的语言。如果参数列表中不包括 'local',则 datestr 以默认语言(美国英语)返回文本。'local' 可与上述的任何语法结合使用。'local' 参数必须排在参数序列的最后。

 

示例

全部折叠

将日期时间数组转换为日期字符串

尝试此示例

View MATLAB Command

t = [datetime('now');datetime('tomorrow')]
t = 2x1 datetime array
03-Feb-2019 10:13:35
04-Feb-2019 00:00:00
DateString = datestr(t)
DateString = 2x20 char array
'03-Feb-2019 10:13:35'
'04-Feb-2019 00:00:00'

datestr 返回表示日期和时间的文本,其格式为 day-month-year hour:minute:second。

 
 

将日期向量转换为文本

尝试此示例

View MATLAB Command

DateVector = [2009,4,2,11,7,18];

datestr(DateVector)
ans =
'02-Apr-2009 11:07:18'

datestr 以默认格式返回表示日期和时间的文本。

 
 

将日期和时间转换为特定格式

尝试此示例

View MATLAB Command

mm/dd/yy 格式设置当前日期的格式。

可以使用符号标识符指定此格式。

formatOut = 'mm/dd/yy';
datestr(now,formatOut)
ans =
'02/03/19'

您也可以使用数值标识符指定此格式。

formatOut = 2;
datestr(now,formatOut)
ans =
'02/03/19'

可以重新设置日期和时间的格式,也可以显示毫秒。

dt = datestr(now,'mmmm dd, yyyy HH:MM:SS.FFF AM')
dt =
'February 03, 2019 10:13:12.086 AM'
 
 

将 12 小时制时间字符串转换为等效的 24 小时制形式

尝试此示例

View MATLAB Command

将 12 小时制时间 05:32 p.m. 转换为其等效的 24 小时制形式。

datestr('05:32 PM','HH:MM')
ans =
'17:32'

将 24 小时制时间 05:32 转换为其等效的 12 小时制形式。

datestr('05:32','HH:MM PM')
ans =
' 5:32 AM'

formatOut 输出文本中使用 AMPM 不影响会实际成为文本的一部分的字符;它们只确定是否包括这些字符。MATLAB 基于输入的时间选择 AMPM

 
 

从自定义格式转换日期字符串

尝试此示例

View MATLAB Command

datestr 内调用 datenum 以指定表示日期的输入文本的格式。

formatOut = 'dd mmm yyyy';
datestr(datenum('16-04-55','dd-mm-yy',1900),formatOut)
ans =
'16 Apr 1955'
 
 

转换多个日期字符串

尝试此示例

View MATLAB Command

以元胞数组传递多个表示日期的字符向量来进行转换。

所有输入日期必须使用相同的格式。例如,以下命令便传递了三个全部使用 mm/dd/yyyy 格式的日期。

datestr(datenum({'09/16/2007';'05/14/1996';'11/29/2010'}, ...
'mm/dd/yyyy'))
ans = 3x11 char array
'16-Sep-2007'
'14-May-1996'
'29-Nov-2010'

datestr 以 day-month-year 格式返回由转换后的日期构成的一个字符数组。

 
 

使用不在正常范围内的值转换日期字符串

尝试此示例

View MATLAB Command

datestr 内调用 datenum,为下面不在正常范围内的日期 (month=13) 返回预期值。

datestr(datenum('13/24/88','mm/dd/yy'))
ans =
'24-Jan-1989'
 
 

使用基准年份

尝试此示例

View MATLAB Command

更改基准年份以更改年份范围。

使用 1900 作为基准年份。

DateStringIn = '4/16/55';
formatOut = 1;
PivotYear = 1900;
datestr(DateStringIn,formatOut,PivotYear)
ans =
'16-Apr-1955'

对于同一日期,使用基准年份 2000。

PivotYear = 2000;
datestr(DateStringIn,formatOut,PivotYear)
ans =
'16-Apr-2055'
 
 

以本地语言返回日期字符串

以当前区域设置的语言将日期值转换为文本。

在法语区域设置中使用 'local' 参数。

DateNumber = 725935;
formatOut = 'mmmm-dd-yyyy';
str = datestr(DateNumber,formatOut,'local')
str =
Juillet-17-1987

在不指定 'local' 的条件下执行同一调用。

str = datestr(DateNumber,formatOut)
str =
July-17-1987

在本例中,输出默认为英语语言。

输入参数

全部折叠

t - 日期和时间
datetime 数组

日期和时间,指定为 datetime 数组。

数据类型: datetime

DateVector - 日期向量
矩阵

日期向量,指定为 m×6 矩阵,其中 m 是完整(六个元素)日期向量的数目。DateVector 的每个元素必须为正整数或负整数值,但秒元素例外,它可以为小数。如果某元素不在常规范围内,则 datestr 会同时调整该日期向量元素及其前面的元素。例如,如果分钟元素为 70,则 datestr 会将小时元素调整 1 并将分钟元素设置为 10。如果分钟元素为 -15,则 datestr 会将小时元素减少 1 并将分钟元素设置为 45。月份值是一个例外。datestr 将小于 1 的月份值设置为 1

示例: [2003,10,24,12,45,07]

数据类型: double

DateNumber - 日期序列值
正双精度数的数组

日期序列值,指定为正双精度数的数组。

示例: 731878

数据类型: double

formatOut - 表示日期和时间的输出的格式
-1 (默认) | 字符向量 | 字符串标量 | 整数

表示日期和时间的输出的格式,指定为由符号标识符组成的字符向量或字符串标量,或者与预定义的格式对应的整数。如果不指定 formatOutdatestr 将返回具有默认格式 dd-mmm-yyyy HH:MM:SS (day-month-year hour:minute:second) 的文本。默认情况下,如果 HH:MM:SS = 00:00:00,则返回的文本的格式为 dd-mmm-yyyy

下表显示了可用于构造 formatOut 字符向量的符号标识符。可以使用连字符、空格或冒号等字符来分隔字段。

注意

描述日期和时间格式的符号标识符不同于描述 datetime 数组的显示格式的标识符。

符号标识符

说明

示例

yyyy

完整年份

1990, 2002

yy

两位数年份

90, 02

QQ

使用字母 Q 和一个数字的季度年份

Q1

mmmm

使用全名的月份

March, December

mmm

使用前三个字母的月份

Mar, Dec

mm

两位数月份

03, 12

m

使用大写首字母表示月份

M, D

dddd

使用全名的日期

Monday, Tuesday

ddd

使用前三个字母的日期

Mon, Tue

dd

两位数日期

05, 20

d

使用大写首字母表示日期

M, T

HH

两位数小时
(使用符号标识符 AMPM 时无前导零)

05, 5 AM

MM

两位数分钟

12, 02

SS

两位数秒

07, 59

FFF

三位数毫秒

057

AM or PM

在表示时间的文本中插入的 AMPM

3:45:02 PM

formatOut 字符向量必须遵循以下原则:

  • 每个字段只能指定一次。例如,不能使用 'yy-mmm-dd-m',因为它有两个月份标识符。一种例外情况是,可以将一个 dd 实例与其他日期标识符的任何一个实例结合使用。例如,'dddd mmm dd yyyy' 是有效输入。

  • 当您使用 AMPM 时,还需要提供 HH 字段。

  • QQ 只能单独使用或与年份设定符一起使用。

下表列出了可与 datestr 一起使用的预定义日期格式。

数值标识符

日期和时间格式

示例

-1(默认值)

'dd-mmm-yyyy HH:MM:SS''dd-mmm-yyyy'(如果 'HH:MM:SS'= 00:00:00

01-Mar-2000 15:45:1701-Mar-2000

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-01

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-2001

28

'mmmyyyy'

Mar2000

29

'yyyy-mm-dd'
(ISO 8601)

2000-03-01

30

'yyyymmddTHHMMSS'
(ISO 8601)

20000301T154517

31

'yyyy-mm-dd HH:MM:SS'

2000-03-01 15:45:17

DateStringIn - 要转换的表示日期和时间的文本
字符向量 | 元胞数组 | 字符串数组

要转换的表示日期和时间的文本,指定为单个字符向量、字符向量元胞数组或字符串数组,其中每一行对应一个日期和时间。

datestr 将双字符年份(例如 '79')视为处于以当前年份为中心的 100 年范围内。

表示日期和时间的所有文本的日期格式必须相同,并且它们必须为下列日期格式之一。

表示日期和时间的文本的格式

示例

'dd-mmm-yyyy HH:MM:SS'

01-Mar-2000 15:45:17

'dd-mmm-yyyy'

01-Mar-2000

'mm/dd/yyyy'

03/01/2000

'mm/dd/yy'

03/01/00

'mm/dd'

03/01

'mmm.dd,yyyy HH:MM:SS'

Mar.01,2000 15:45:17

'mmm.dd,yyyy'

Mar.01,2000

'yyyy-mm-dd HH:MM:SS'

2000-03-01 15:45:17

'yyyy-mm-dd'

2000-03-01

'yyyy/mm/dd'

2000/03/01

'HH:MM:SS'

15:45:17

'HH:MM:SS PM'

3:45:17 PM

'HH:MM'

15:45

'HH:MM PM'

3:45 PM

注意

在从一种日期和时间格式转换为另一种日期和时间时,首先将这些文本传递到 datenum 函数,以便指定输入的格式。此方法可确保正确解释输入日期和时间的格式。例如,请参阅从自定义格式转换日期字符串

PivotYear - 100 年日期范围的起始年份
现在减去 50 年 (默认) | 整数

双字符年份所在的 100 年日期范围的起始年份,指定为整数。使用基准年份来解释将年份指定为两个字符的日期。

如果 formatIn 包含一天中的时间,则将根据当前日期、月份和年份的当前时间来计算基准年份。否则,将根据当前日期、月份和年份的午夜来进行计算。

示例: 2000

注意

如果输入日期格式指定四个字符的年份,则后两个字符将被截断,由两个字符指定年份。例如,如果日期和基准年份指定为 ('25122015','ddmmyyyy',2000),则生成的日期为 25-12-2020,而不是 25-12-2015

数据类型: double

输出参数

全部折叠

DateString - 表示日期和时间的文本
字符向量 | 二维字符数组

表示日期和时间的文本,返回包含 m 行的字符数组,其中 m 是输入日期和时间的总数。默认输出格式为 dd-mmm-yyyy HH:MM:SS (day-month-year hour:minute:second),仅当小时、分钟和秒均为 0 时,才会隐藏 HH:MM:SS 部分。

提示

  • 要转换未采用预定义的 MATLAB 日期格式的文本,需先用 datenumdatevec 函数将文本转换为日期值。

扩展功能

tall 数组
对行数太多而无法放入内存的数组进行计算。

matlab中datest() 将日期和时间转换为字符串格式的更多相关文章

  1. C# 日期和时间的字符串表示形式转换为其等效的DateTime(stringToDateTime)

    一. 标准的日期和时间字符串转换 将日期和时间的字符串表示形式转换为其等效的DateTime对象是开发中很常见的类型转换,我们最常使用的方式是: // 如果s为null,抛出ArgumentNullE ...

  2. [转载] C/C++中怎样获取日期和时间

    C/C++中怎样获取日期和时间摘要:  本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时.时间的获取.时间的计算和显示格式等方面进行了阐述.本文还通过大量的 ...

  3. C/C++中怎样获取日期和时间

    C/C++中怎样获取日期和时间摘要: 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时.时间的获取.时间的计算和显示格式等方面进行了阐述.本文还通过大量的实 ...

  4. java 8中新的日期和时间API

    java 8中新的日期和时间API 使用LocalDate和LocalTime LocalDate的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息.另外,它也不附带任何与时区相关的信 ...

  5. mysql学习1:数据类型:数字型,日期和时间,字符串类型(总结)

    mysql数据类型:数字型,日期和时间,字符串类型 摘要 MySQL中定义数据字段的类型对数据库的优化是非常重要的: MySQL支持多种类型,大致可以分为三类,如下. 数字类型 整数:tinyint. ...

  6. python 日期、时间、字符串相互转换

    python 日期.时间.字符串相互转换 在python中,日期类型date和日期时间类型dateTime是不能比较的. (1)如果要比较,可以将dateTime转换为date,date不能直接转换为 ...

  7. python 日期、时间、字符串相互转换(转载)

    原文链接:https://www.cnblogs.com/huhu-xiaomaomi/p/10338472.html 在python中,日期类型date和日期时间类型dateTime是不能比较的. ...

  8. sqlserver常用日期、时间函数和格式

    Sql Server中常用的日期与时间函数1.  当前系统日期.时间    select getdate() 2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值  ...

  9. 【matlab】将matlab中数据输出保存为txt或dat格式

    将matlab中数据输出保存为txt或dat格式 总结网上各大论坛,主要有三种方法. 第一种方法:save(最简单基本的) 具体的命令是:用save *.txt -ascii x x为变量 *.txt ...

随机推荐

  1. Linux安装Rabbitmq3.8.5

    安装环境: 操作系统为:centOS-7 erlang版本为22.3,软件包:otp_src_22.3.tar.gz rabbitMQ版本为3.8.5,软件包:rabbitmq-server-gene ...

  2. Labview学习之路(七)for和while的理论要点

    for循环 循环次数可以为0(N的接线端为) 终止条件:1. 完成N次循环.      2. 添加条件接线端,就像while循环的红点一样,(方法,右键点击边框,添加条件接线端) 数组通过自动索引接入 ...

  3. Android开发,java开发程序员常见面试题,求100-200之间的质数,java逻辑代码

    public class aa{ public static void main (String args []){ //author:qq986945193 for (int i = 100;i&l ...

  4. 【图像增强】CLAHE 限制对比度自适应直方图均衡化

    文章目录: 目录 1 基本概述 2 竞赛中的CLAHE实现 3 openCV绘制直方图 4 对比度Contrast 5 Contrast Stretching 6 Histogram Equaliza ...

  5. TDengine能比Hadoop快10倍?

    之前对国产的时序大数据存储引擎 TDengine 感兴趣,因为号称比Hadoop快十倍,一直很好奇怎么实现的,所以最近抽空看了下白皮书和设计文档. 如果用一句话总结,就是 TDengine 是为特定的 ...

  6. Myabtis动态SQL,你真的会了吗?

    目录 前言 什么是动态SQL? 常用的标签 if choose.when.otherwise where foreach set sql include 总结 拓展一下 Mybatis中如何避免魔数? ...

  7. Template DB MySQL学习总结

    Zabbix 5.0下如何应用Template DB MySQL来监控MySQL数据库呢?下面简单整理一下如何配置.应用Zabbix下自带的模板Template DB MySQL.其实非常简单. Te ...

  8. webservice的某些配置

    ajax调用的时候配置 <system.webServer> <validation validateIntegratedModeConfiguration="false& ...

  9. C# 调用SendMessage刷新任务栏图标(强制结束时图标未消失)

    本文参考C++改写 https://blog.csdn.net/dpsying/article/details/20139651  (该文章的坐标理解的有误解,会导致功能无效) SendMessage ...

  10. 浅谈DOM事件的优化

    在 JavaScript 程序的开发中,经常会用到一些频繁触发的 DOM 事件,如 mousemove.resize,还有不是那么常用的鼠标滚轮事件:mousewheel (在 Firefox 中,滚 ...