zoukankan      html  css  js  c++  java
  • matlab中datest() 将日期和时间转换为字符串格式

    来源: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' 参数必须排在参数序列的最后。

     

    示例

    全部折叠

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

    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。

     
     

    将日期向量转换为文本

    DateVector = [2009,4,2,11,7,18];
    
    datestr(DateVector)
    ans = 
    '02-Apr-2009 11:07:18'
    

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

     
     

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

    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 小时制形式

    将 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

     
     

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

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

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

    转换多个日期字符串

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

    所有输入日期必须使用相同的格式。例如,以下命令便传递了三个全部使用 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 格式返回由转换后的日期构成的一个字符数组。

     
     

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

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

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

    使用基准年份

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

    使用 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 函数将文本转换为日期值。

    扩展功能

  • 相关阅读:
    Cocos2dx-背景无限循环播放
    centos 7端口和防火墙
    图片裁剪
    spring-boot图片压缩
    vue cli简介
    spring-boot的配置(实时生效)
    spring-boot打成war包放入tomcat运行
    spring-boot上传图片并访问
    linux链接ssh
    mysql远程访问
  • 原文地址:https://www.cnblogs.com/MCSFX/p/11864479.html
Copyright © 2011-2022 走看看