来源: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 操作系统 基础

    root: 管理员 /: 根目录[windows : 计算机] ~: 家目录: 管理员:/root/.. 非管理员:/home/... 命令提示符: [root@localhost abc]#: ro ...

  2. Redis Linux 安装部署

    Redis部署文档   Redis部署文档 准备软件: 开始部署: 解压tar包[root@localhost redis]# tar -zxvf redis-3.2.8.tar.gz 进入Redis ...

  3. Vue 事件的高级使用方法

    Vue 事件的高级使用方法 事件方法 在Vue中提供了4中事件监听方法,分别是: $on(event: string | Array, fn) $emit(event: string) $once(e ...

  4. Android 重构方案

    前言 最近面试了很多候选人,发现很多同学在简历上都写得非常厉害,负责架构设计,项目重构之类的.但是问起来,很多人都说不出个所以然来.今天我们不谈架构设计,我们聊一下重构.我面试时候经常会问,你是怎么重 ...

  5. Java链接db2套接字出错

    ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could ...

  6. 预科班D2

    2020.09.08星期二 预科班D2 学习内容: 一.复习 1.平台: 平台=操作系统+计算机硬件 2.跨平台性 3.文件 文件是指操作系统提供给上层使用者操作硬盘的一种功能.

  7. 关于java中循环的学习

    switch 值是固定的 效率高语法:switch (表达式) { case 常量 1: 语句; break; case 常量 2: 语句; break; … default: 语句; break;} ...

  8. 云计算openstack共享组件——Memcache 缓存系统(4)

    一.缓存系统 一.静态web页面: 1.在静态Web程序中,客户端使用Web浏览器(IE.FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告 ...

  9. junit源码之Runner

    Runner 定义了执行用例的执行器方法. public abstract class Runner implements Describable { /* 获取描述 */ public abstra ...

  10. python第一节课内容及练习

    一.input输入 sname = input("请输入你的姓名:")yu_yan = input("请输入你学习的语言:")print("{}, 欢 ...