Matlab:在文本和值之间转换datetimeduration

news2024/10/5 16:29:28

Matlab:在文本和值之间转换datetimeduration

  • 将值转换为文本datetimeduration
    • 将数组转换为字符串数组
    • 指定输出文本的格式
    • 指定输出文本的区域设置
  • 将文本转换为值datetime
    • 解释输入文本的格式
  • 将文本转换为值duration
    • 解释输入文本的格式
  • 从文件中读取日期和时间

此示例演示如何在表示日期和时间的文本和数据类型之间进行转换。数据类型表示时间点,例如 2020 年 8 月 24 日上午 10:50:30,数据类型表示时间长度,例如 3 小时 47 分和 16 秒。将日期和时间转换为文本的常见原因是将它们追加到用作打印标签或文件名的字符串中。同样,如果文件具有将日期和时间存储为文本的数据列,则可以从这些列读取数据到数组中,从而使数据对分析更有用。datetimedurationdatetimeduration

要转换:

datetime或值到文本,使用函数。(您还可以使用函数将这些值转换为字符向量。durationstringchar

文本到值,使用函数。datetimedatetime

文本到值,使用函数。durationduration

此外,某些函数(如 、 和函数)从文件中读取文本并自动转换表示日期和时间 toorarray 的文本。readcellreadvarsreadtabledatetimeduration

将值转换为文本datetimeduration

创建一个表示当前日期和时间的值。datetime

d = datetime("now")

d = datetime
31-Aug-2022 03:28:25

要转换为文本,请使用函数。dstring

str = string(d)

str =
“31-Aug-2022 03:28:25”
同样,您可以转换值。例如,首先创建一个表示 3 小时 30 分钟的值。创建此值的一种方法是使用 theandfunctions。这些函数创建随后可以组合的值。durationdurationhoursminutesduration

d = hours(3) + minutes(30)

d = duration
3.5 hr

转换为文本。d

str = string(d)

str =
“3.5 hr”
此类字符串的一个常见用途是将它们添加到打印标签或文件名中。例如,创建一个标题包含当前日期的简单绘图。首先转换日期并将其添加到字符串中。myTitle

d = datetime("today")

d = datetime
31-Aug-2022

myTitle = "Plot generated on: " + string(d)

myTitle =
“Plot generated on: 31-Aug-2022”
使用标题创建绘图。

plot(rand(10,1))
title(myTitle)

在这里插入图片描述

将数组转换为字符串数组

您还可以将数组转换为值。当您使用函数转换它们时,生成的字符串数组具有相同的大小。datetimedurationstring

例如,创建阵列。datetime

D = datetime(2021,1:3,15,12,0,0)'

D = 3x1 datetime
15-Jan-2021 12:00:00
15-Feb-2021 12:00:00
15-Mar-2021 12:00:00

转换为字符串数组。D

str = string(D)

str = 3x1 string
“15-Jan-2021 12:00:00”
“15-Feb-2021 12:00:00”
“15-Mar-2021 12:00:00”

同样,您可以创建数组并对其进行转换。创建数组的一种方法是使用函数。使用指定小时、分钟和秒的数字输入调用它。durationdurationduration

D = duration(1:3,30,0)'

D = 3x1 duration
01:30:00
02:30:00
03:30:00

转换数组。duration

str = string(D)

str = 3x1 string
“01:30:00”
“02:30:00”
“03:30:00”

指定输出文本的格式

数据类型具有指定显示格式的属性。实时脚本和命令窗口使用该格式来显示值。使用函数转换数组时,可以指定不同的格式。datetimedurationdatetimedurationstring

例如,创建一个值并显示它。datetime

d = datetime("now")

d = datetime
31-Aug-2022 03:28:26

使用字母标识符指定月份、日、年和时间全名的格式。转换为使用该格式表示日期和时间的字符串。d

fmt = "dd MMMM yyyy, hh:mm:ss a";
str = string(d,fmt)

str =
“31 August 2022, 03:28:26 AM”
同样,您可以在转换数组时指定格式。首先创建一个值。durationduration

d = hours(1) + minutes(30) + seconds(45)

d = duration
1.5125 hr

使用小时、分钟和秒标识符转换为字符串。dhh:mm:ss

fmt = "hh:mm:ss";
string(d,fmt)

ans =
“01:30:45”
注意:该函数在转换其他数据类型时不会为格式提供第二个输入参数。string

指定输出文本的区域设置

您还可以使用不同的语言环境进行转换和数组。区域设置为日期和月份提供适当的名称。要使用不是默认区域设置的区域设置,请将其作为另一个输入参数提供。datetimeduration

例如,指定区域设置以使用月份的法语名称表示当前日期和时间。fr_FR

d = datetime("now")

d = datetime
31-Aug-2022 03:28:26

fmt = "dd MMMM yyyy, hh:mm:ss a";
locale = "fr_FR";
str = string(d,fmt,locale)

str =
“31 août 2022, 03:28:26 AM”
同样,您可以在转换数组时指定区域设置。法国的区域设置使用不同的小时缩写。duration

d = hours(5)

d = duration
5 hr

fmt = "h";
locale = "fr_FR";
str = string(d,fmt,locale)

str =
“5 h”
注意:转换其他数据类型时,该函数不会为区域设置提供第三个输入参数。string

将文本转换为值datetime

如果文本以函数识别的格式指定日期和时间,则可以将文本转换为值。datetimedatetime

创建一个表示日期和时间的字符串。

str = "2021-09-15 09:12:34"

str =
“2021-09-15 09:12:34”
Convert to a value.strdatetime

d = datetime(str)

d = datetime
15-Sep-2021 09:12:34

解释输入文本的格式

该函数可识别许多常用的文本格式。但是,如果文本的格式无法识别,则可以将该格式指定为输入参数。datetimedatetime

例如,创建一个字符串,用于使用 ISO 8601 标准指定日期和时间。

str = "2021-09-15T091234"

str =
“2021-09-15T091234”
函数无法识别此格式。若要将此字符串转换为值,请指定输入文本的格式。然后调用该函数。(当格式包含文字文本时,请用引号将其括起来。在此示例中,指定文本。datetimedatetimedatetimeT’T’

infmt = "yyyy-MM-dd'T'HHmmss";
d = datetime(str,"InputFormat",infmt)

d = datetime
15-Sep-2021 09:12:34

将文本转换为值duration

如果文本以函数识别的格式指定时间,则可以将文本转换为值。durationduration

创建一个表示时间长度的字符串。

str = "00:34:01"

str =
“00:34:01”
Convert to a value.strduration

d = duration(str)

d = duration
00:34:01

解释输入文本的格式

该函数识别指定以冒号分隔的天、小时、分钟和秒的格式。这些格式是:duration

“dd:hh:mm:ss”

“hh:mm:ss”

“mm:ss”

“hh:mm”

前三种格式中的任何一种,最多九个字符表示小数位第二位数字,例如”Shh:mm:ss.SSSS"

如果输入文本不明确,这意味着它可以被解释为匹配的理论格式,请将格式指定为输入参数。“mm:ss”“hh:mm”

例如,创建一个表示时间长度的字符串。

str = "34:01"

str =
“34:01”
若要将此字符串转换为 34 分 1 秒的持续时间,请指定格式。然后调用该函数。duration

infmt = "mm:ss";
d = duration(str,"InputFormat",infmt)

d = duration
00:34:01

从文件中读取日期和时间

许多文件(如电子表格和文本文件)将日期和时间存储为文本。如果日期和时间采用可识别的格式,则诸如,,之类的函数可以读取它们并自动将它们转换为toorarray。readcellreadvarsreadtabledatetimeduration

例如,CSV 文件是随 MATLAB® 一起分发的示例文件。该文件包含一组停电的数据。的第一行具有列名。文件的其余部分具有每次中断的逗号分隔数据值。该文件有 1468 行数据。此处显示了前几行。outages.csvoutages.csv

Region,OutageTime,Loss,Customers,RestorationTime,Cause
SouthWest,2002-02-01 12:18,458.9772218,1820159.482,2002-02-07 16:50,winter storm
SouthEast,2003-01-23 00:49,530.1399497,212035.3001,winter storm
SouthEast,2003-02-07 21:15,289.4035493,142938.6282,2003-02-17 08:14,winter storm
West,2004-04-06 05:44,434.8053524,340371.0338,2004-04-06 06:10,equipment fault
MidWest,2002-03-16 06:18,186.4367788,212754.055,2002-03-18 23:23,severe storm

要从中读取前三列并将它们直接存储在数组中,请使用函数。若要将文本读入存储字符串数组的变量,请指定名称-值参数。但是,该函数将 CSV 文件第二列中的值识别为日期和时间,并将变量创建为数组。显示每个输出数组的前五行。outages.csvreadvarsTextTypeOutageTimedatetime

[Region,OutageTime,Loss] = readvars("outages.csv","TextType","string");
whos Region OutageTime Loss

Name Size Bytes Class Attributes

Loss 1468x1 11744 double
OutageTime 1468x1 23520 datetime
Region 1468x1 83256 string

Loss(1:5)

ans = 5×1

458.9772
530.1399
289.4035
434.8054
186.4368

OutageTime(1:5)

ans = 5x1 datetime
2002-02-01 12:18
2003-01-23 00:49
2003-02-07 21:15
2004-04-06 05:44
2002-03-16 06:18

Region(1:5)

ans = 5x1 string
“SouthWest”
“SouthEast”
“SouthEast”
“West”
“MidWest”

要读取整个电子表格并将数据存储在表中,请使用函数。若要将文本读入存储字符串数组的表变量,请指定名称-值参数。但是,仍然将桑德转换为存储数组的表变量。readtableTextTypereadtableOutageTimeRestorationTimedatetime

T = readtable("outages.csv","TextType","string")

T=1468×6 table
Region OutageTime Loss Customers RestorationTime Cause
___________ ________________ ______ __________ ________________ _________________

"SouthWest"    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    "winter storm"   
"SouthEast"    2003-01-23 00:49    530.14    2.1204e+05                 NaT    "winter storm"   
"SouthEast"    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    "winter storm"   
"West"         2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    "equipment fault"
"MidWest"      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    "severe storm"   
"West"         2003-06-18 02:49         0             0    2003-06-18 10:54    "attack"         
"West"         2004-06-20 14:39    231.29           NaN    2004-06-20 19:16    "equipment fault"
"West"         2002-06-06 19:28    311.86           NaN    2002-06-07 00:51    "equipment fault"
"NorthEast"    2003-07-16 16:23    239.93         49434    2003-07-17 01:12    "fire"           
"MidWest"      2004-09-27 11:09    286.72         66104    2004-09-27 16:37    "equipment fault"
"SouthEast"    2004-09-05 17:48    73.387         36073    2004-09-05 20:46    "equipment fault"
"West"         2004-05-21 21:45    159.99           NaN    2004-05-22 04:23    "equipment fault"
"SouthEast"    2002-09-01 18:22    95.917         36759    2002-09-01 19:12    "severe storm"   
"SouthEast"    2003-09-27 07:32       NaN    3.5517e+05    2003-10-04 07:02    "severe storm"   
"West"         2003-11-12 06:12    254.09    9.2429e+05    2003-11-17 02:04    "winter storm"   
"NorthEast"    2004-09-18 05:54         0             0                 NaT    "equipment fault"
  ⋮

由于这些表变量是数组,因此您可以使用它们执行方便的计算。例如,您可以计算停电的持续时间,并将其作为阵列附加到表中。datetimeduration

T.OutageDuration = T.RestorationTime - T.OutageTime

T=1468×7 table
Region OutageTime Loss Customers RestorationTime Cause OutageDuration
___________ ________________ ______ __________ ________________ _________________ ______________

"SouthWest"    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    "winter storm"         148:32:00   
"SouthEast"    2003-01-23 00:49    530.14    2.1204e+05                 NaT    "winter storm"               NaN   
"SouthEast"    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    "winter storm"         226:59:00   
"West"         2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    "equipment fault"       00:26:00   
"MidWest"      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    "severe storm"          65:05:00   
"West"         2003-06-18 02:49         0             0    2003-06-18 10:54    "attack"                08:05:00   
"West"         2004-06-20 14:39    231.29           NaN    2004-06-20 19:16    "equipment fault"       04:37:00   
"West"         2002-06-06 19:28    311.86           NaN    2002-06-07 00:51    "equipment fault"       05:23:00   
"NorthEast"    2003-07-16 16:23    239.93         49434    2003-07-17 01:12    "fire"                  08:49:00   
"MidWest"      2004-09-27 11:09    286.72         66104    2004-09-27 16:37    "equipment fault"       05:28:00   
"SouthEast"    2004-09-05 17:48    73.387         36073    2004-09-05 20:46    "equipment fault"       02:58:00   
"West"         2004-05-21 21:45    159.99           NaN    2004-05-22 04:23    "equipment fault"       06:38:00   
"SouthEast"    2002-09-01 18:22    95.917         36759    2002-09-01 19:12    "severe storm"          00:50:00   
"SouthEast"    2003-09-27 07:32       NaN    3.5517e+05    2003-10-04 07:02    "severe storm"         167:30:00   
"West"         2003-11-12 06:12    254.09    9.2429e+05    2003-11-17 02:04    "winter storm"         115:52:00   
"NorthEast"    2004-09-18 05:54         0             0                 NaT    "equipment fault"            NaN   
  ⋮

该博文为原创文章,未经博主同意不得转。
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/127901670

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/11984.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试经常问的Linux进程到底是什么呢?1W字从0到1详解进程的所有细节!

目录 1.冯诺伊曼体系 2.操作系统 3.进程 4.进程的三种状态 4.1概念 4.2Linux中不同进程状态 5.进程的优先级 6.进程的几个其它概念 7.进程的切换 8.环境变量 8.1环境变量的概念 8.2常见的环境变量 8.3和环境变量相关的命令 8.4查看环境变量的方法 8.5通过代码获取环境变量的方式…

微信小程序 webview组件内嵌H5二维码识别

结果 支持公众号二维码支持小程序码支持个人名片支持群聊不支持页面二维码 做法 点击图片触发previewImage预览&#xff0c;长按识别 <script type"text/javascript" src"https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>wx.p…

IT部门不想每天忙“取数”,花了几百万买系统,还是这个办法有效

待过几年中小型传统企业的应该都有这个感知&#xff1a;虽然每个月都在采购新的软件系统&#xff0c;但整个公司的数字化仍旧一团糟&#xff0c;数字化转型是越搞越回去了。 这也很好解释。 传统企业业务部门繁多&#xff0c;在搞信息化阶段采购了很多业务系统&#xff0c;比…

C++ 11

文章目录1. 列表初始化1.1 列表初始化的使用格式1.1.1 内置类型1.1.2 自定义类型的列表初始化1.2 列表初始化的本质2. 变量类型的推导2.1 auto 关键字2.2 decltype类型推导3. 范围for4. final与override5. 智能指针6. 新增容器6.1 静态数组array6.2 单向链表 forward_list6.3 u…

【问卷调查发布系统的设计与实现】

系列文章目录 在当前社会&#xff0c;随着信息化的高速发展&#xff0c;收集数据的传统方法——问卷调查法也在发生改变。此问卷调查系统&#xff0c;可以帮助用户在短时间内创建收集数据的问卷&#xff0c;目的是突出高效性、绿色性以及便捷性。在设计过程中&#xff0c;分析…

web网页设计期末课程大作业:漫画网站设计——我的英雄(5页)学生个人单页面网页作业 学生网页设计成品 静态HTML网页单页制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 ⚽精彩专栏推荐&#x1…

Charles使用教程

目录预备知识1.HTTP调试代理工具原理2.Charles简介实验目的实验环境实验步骤一实验步骤二实验步骤三预备知识 1.HTTP调试代理工具原理 HTTP调试代理工具广泛应用于web程序开发、安全测试、流量分析等工作。HTTP调试代理工具工作于TCP/IP参考模型中的应用层&#xff0c;浏览器…

Docker容器的5个实用案例

Docker 是一个开源平台&#xff0c;可以轻松地为任何应用创建一个轻量级的、 可移植的、自给自足的容器。大多数 Docker 容器的核心是在虚拟化环境中运行的轻量级 Linux 服务器。 Docker Linux 容器有什么实际用例吗&#xff1f;现在让我们一探究竟。 为什么使用 Docker? D…

力扣(LeetCode)792. 匹配子序列的单词数(C++)

二分查找 直观思考&#xff0c;本题可以将 wordswordswords 中每个单词 wordwordword 依次和目标字符串 sss 比较&#xff0c;检查是否为子串。时间复杂度 n∑i0m−1wordsin\times \sum_{i0}^{m-1}words_in∑i0m−1​wordsi​ nnn 是 sss 的长度, mmm 是 wordswordswords 的长…

壁纸号的玩法,拿出来收费未免也太坑人了,所以,直接上教程。

网上关于斗音变现的攻略写得比较少&#xff0c;可以理解为目前仍是风口&#xff0c;都在闷声发大财&#xff0c;虽然我也做知识付费&#xff0c;但是这壁纸号的玩法&#xff0c;拿出来收费未免也太坑人了…… 所以&#xff0c;直接上教程…… 一、准备斗音号 这一块不用多说&…

数据结构之实现队列

文章目录前言1.队列的相关介绍1.队列的定义2.队列的实现方式2.队列具体实现1.队列声明定义2.队列的接口1.初始化接口2.数据的插入和删除3.获取队头元素和队尾元素4.获取队列元素个数和队列判空以及队列3.总结前言 之前谈到了栈的实现&#xff0c;现在来说说另一种数据结构——…

[hadoop全分布部署]虚拟机Hadoop集群配置/etc/hosts、配置无密码登录(SSH)

&#x1f468;‍&#x1f393;&#x1f468;‍&#x1f393;博主&#xff1a;发量不足 个人简介&#xff1a;耐心&#xff0c;自信来源于你强大的思想和知识基础&#xff01;&#xff01; &#x1f4d1;&#x1f4d1;本期更新内容&#xff1a;虚拟机Hadoop集群配置/etc/hosts…

Centos 7下安装php+mysql+nginx+wordpress教程新版

安装zsh+oh-my-zsh 安装zsh的原因是因为不喜欢自带的ssh工具,感觉没有这个好用,我最常用的就是记忆功能,比如输入某个字母,按上下键会自动补全已经使用过的命令,安装也很简单,一条命令搞定,他的扩展也很多,这里只讲最简单的安装,当然也可以不需要安装。 执行yum inst…

Linux基本指令

这一章我们将讲解在Linux系统下&#xff0c;一些基本指令的用法和功能. 后面有一些重要的指令我们将单独讲解. 目录 ls 指令 pwd 指令 cd 指令 touch 指令 mkdir 指令★ rmdir 指令 && rm指令★ man 指令★ cp 指令 ★ mv 指令★ cat && tac指令 e…

nodejs+vue毕业生就业知道信息平台系统

大学毕业生招聘系统分三个身份登录&#xff0c;一个学生&#xff0c;一个管理员&#xff0c;一个是企业用户。学生可以注册登录管理自己的简历,应聘职位,企业用户可以发布招聘&#xff0c;收到应聘信息,查看学生简历,收藏学生简历,而管理员可以修改任何信息。 管理员模块有: 1.…

【8-数据库表结构的创建后台管理系统的搭建】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了&#xff0c;请点击这里&#xff01;】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

OPSS-PEG-N3,OPSS-PEG-azide,巯基吡啶-PEG-叠氮化学试剂供应

1、名称 英文&#xff1a;OPSS-PEG-N3&#xff0c;OPSS-PEG-azide 中文&#xff1a;巯基吡啶-聚乙二醇-叠氮 2、CAS编号&#xff1a;N/A 3、所属分类&#xff1a;Azide PEG Orthopyridyl disulfide (OPSS) PEG 4、分子量&#xff1a;可定制&#xff0c;2K 巯基吡啶-PEG-叠…

海量短视频打标问题之多模态机器学习

引言 接着讲&#xff0c;既然我们是给视频打标签&#xff0c;那么肯定就不能只局限于图像上做文章。视频文件包含的信息很多&#xff0c;一个短视频除了有一帧一帧的图像&#xff0c;还有声音信息&#xff0c;甚至还有字幕或者用户打的标签和文字评论之类的这些信息&#xff0…

第2关:ZooKeeper配置

配置项介绍 基础配置 tickTime&#xff1a;Client和Server通信心跳数。 Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔&#xff0c;也就是每隔tickTime的时间就会发送一个心跳。tickTime以毫秒为单位。 initLimit&#xff1a;LF初始通信时限。 集群中的followe…

muduo库的高性能日志库(二)——LogStream文件

目录概述FixBuffer类&#xff08;模板缓冲区&#xff09;LogStream类LogStream.hLogStream.cc十进制整数转化为字符串地址&#xff08;指针&#xff09;数据转换为16进制字符串浮点类型数据转化为字符串Fmt类C单元测试框架&#xff08;简略&#xff09;什么是单元测试常用测试工…