Octave用于操作时间值的核心函数集以标准C库中的相应函数为模式。其中一些函数使用了一种时间数据结构,其中包括以下元素:
usec
秒后的微秒(0-999999)。
秒
分钟后的秒数(0-60)。这个数字可以是60来说明闰秒。
min
小时后几分钟(0-59)。
小时
自午夜(0-23)起的小时数。
mday
一个月的哪一天(1-31)。
星期一
自1月以来的几个月(0-11)。
年
自1900年以来的岁月。
wday
自周日(0-6)以来的天数。
yday
自1月1日起的天数(0-365)。
isdst
夏令时标志。
gmtoff
从UTC偏移的秒数。
区
时区。
在以下函数的描述中,此结构体被称为tm_结构体.
秒=
时间 ()
¶
返回当前时间作为自epoch以来的秒数。
历元参考1970年1月1日00:00:00 UTC(协调世界时)。例如,1997年2月17日星期一07:15:06 UTC,返回的值为时间
为856163706。
详见: strftime,strptime,当地时间,gmtime,mktime,现在,日期,时钟,日期编号,日期str,日期向量,日历,周工作日.
str=
ctime (t)
¶
转换从返回的值时间
(或任何其他非负整数),返回到本地时间,并返回与相同形式的字符串asctime
.
函数ctime(时间)
相当于asctime(本地时间)
例如
ctime(时间())⇒ “1997年2月17日星期一01:15:06\n”
tm_结构体=
gmtime (t)
¶
给定从返回的值时间
,或任何非负整数,返回与UTC(协调世界时)对应的时间结构体。
例如
gmtime(时间())⇒ {使用时间=0秒=6分钟=15小时=7天=17个月=1年=97天=1天=47天=0 gmtoff=0区域=GMT}
详见: strftime,strptime,当地时间,mktime,时间,现在,日期,时钟,日期编号,日期str,日期向量,日历,周工作日.
tm_结构体=
当地时间 (t)
¶
给定从返回的值时间
,或任何非负整数,返回与本地时区对应的时间结构体。
本地时间(时间())⇒ {使用时间=0秒=6分钟=15小时=1个月=17个月=1年=97天=1天=47天=0 gmtoff=-21600区域=CST}
详见: strftime,strptime,gmtime,mktime,时间,现在,日期,时钟,日期编号,日期str,日期向量,日历,周工作日.
秒=
mktime (tm_结构体)
¶
将与本地时间对应的时间结构体转换为自epoch以来的秒数。
例如
mktime(本地时间(时间()))⇒ 856163706
详见: strftime,strptime,当地时间,gmtime,时间,现在,日期,时钟,日期编号,日期str,日期向量,日历,周工作日.
str=
asctime (tm_结构体)
¶
使用以下格式将时间结构体转换为字符串:“ddd mmm mm HH:mm:SS yyyy\n”
.
例如
asctime(本地时间(时间()))⇒ “1997年2月17日星期一01:15:06\n”
这相当于ctime(时间())
.
str=
strftime (fmt,tm_结构体)
¶
格式化时间结构体tm_结构体以灵活的方式使用formatstringfmt包含'%'替换类似于输出函数
.
除非另有说明,否则被替换的字段具有固定的大小;如有必要,会填充数字字段。默认情况下,填充为零;对于显示单个数字的字段,可以通过以下方式更改或禁止填充%'使用下面描述的一个修饰符。未知字段值被复制为普通字符。所有其他字符都会被复制到输出中,而不会发生更改。例如
strftime(“%r(%Z)%A%e%B%Y”,本地时间(时间()))⇒ “1997年2月17日星期一上午01:15:06(CST)”
Octave的strftime
函数支持ANSI C字段值的超集。
文字字符字段:
%%
符号
n
换行符。
%t
制表符。
数字修饰符(非标准扩展):
冲撞
请勿填充字段。
强调
用空格填充字段。
时间字段:
H
小时(00-23)。
我
小时(01-12)。
k
小时(0-23)。
%l
小时(1-12)。
M
分钟(00-59)。
</p>
当地时间上午或下午。
r
时间,12小时(hh:mm:ss[AP]M)。
R
时间,24小时(hh:mm)。
s
自1970年1月1日00:00:00以来的时间(以秒为单位)(非标准扩展)。
S
第二(00-61)。
T
时间,24小时(hh:mm:ss)。
十、
区域设置的时间表示形式(%H:%M:%s)。
z
与UTC的偏移量(±hhmm),如果无法确定时区,则为零。
Z
时区(EDT),如果没有可确定的时区,则不确定。
日期字段:
a
区域设置的缩写工作日名称(Sun-Sat)。
A.
区域设置的完整工作日名称,可变长度(周日-周六)。
b
Locale的缩写月份名称(Jan-Dec)。
B
区域设置的完整月份名称,可变长度(1月-12月)。
c
当地的日期和时间(美国东部时间1989年11月4日星期六12:02:33)。
C
世纪(00-99)。
d
年月日(01-31)。
e
月份的哪一天(1-31)。
D
日期(mm/dd/yy)。
%h
与%b相同。
j
一年中的某一天(001-366)。
%m
月份(01-12)。
U
一年中的周数,周日为一周的第一天(00-53)。
w
星期几(0-6)。
W
一年中的周数,星期一为一周的第一天(00-53)。
%x
区域设置的日期表示(mm/dd/yy)。
y
年份的最后两位数字(00-99)。
Y
年份(1970年-)。
详见: strptime,当地时间,gmtime,mktime,时间,现在,日期,时钟,日期编号,日期str,日期向量,日历,周工作日.
[tm_结构体,nchars] =
strptime (str,fmt)
¶
转换字符串str到时间结构体tm_结构体在格式字符串的控制下fmt.
如果fmt未能匹配,nchars为0;否则,它被设置为最后匹配的字符加1的位置。请始终检查这一点,除非您确信日期字符串将被正确解析。
详见: strftime,当地时间,gmtime,mktime,时间,现在,日期,时钟,日期编号,日期str,日期向量,日历,周工作日.
本节中描述的大多数剩余函数都不是以标准C库为模式的。有些可与兼容MATLAB并且提供其他的是因为它们是有用的。
日期向量=
时钟 ()
¶
[日期向量,isdst] =
时钟 ()
¶
将当前本地日期和时间作为日期向量返回。
日期向量包含以下字段:当前年份、月份(1-12)、日期(1-31)、小时(0-23)、分钟(0-59)和秒(0-61)。秒字段在小数点后有一个小数部分,以提高精度。
可选的第二个输出isdst如果夏令时(DST)对系统的时区有效,则为true。
例如
修复(时钟())⇒ 1993 8 20 4 56 1
时钟
在具有获取日期
作用
秒=
etime (t2,t1)
¶
返回从返回的两个时间值之间的差值(以秒为单位)时钟
(t2-t1).
例如
t0=时钟();#许多计算之后。。。elapsed_time=etime(时钟(),t0);
将设置变量经过的时间
到变量之后的秒数t0
已设置。
[全部的,使用者,系统] =
cputime ();
¶
返回Octave会话使用的CPU时间。
第一个输出是执行进程所花费的总时间,等于第二个和第三个输出的总和,这两个输出分别是在用户模式下执行的CPU秒数和在系统模式下执行所花费的CPU秒数来表示。
如果您的系统无法返回CPU时间使用情况,cputime
为其每个输出值返回0。
请注意,从于Octave启动时使用了一些CPU时间,因此检查是否合理cputime
通过检查所用的CPU总时间是否为非零来工作。
tf=
is_leap_year ()
¶
tf=
is_leap_year (年)
¶
如果返回true年是闰年,否则是假的。
如果没有指定年份,is_leap_year
使用当前年份。
例如
is_leap_year(2000)⇒ 1.
()
¶
id=
抽搐 ()
¶
初始化挂钟计时器。
使命感抽搐
如果没有输出参数,则重置内部计时器。对的后续调用toc
返回自设置计时器以来的秒数。
如果用一个输出参数调用,抽搐
创建一个新的定时器实例并返回一个定时器标识符id这个id是类型的标量uint64
可以传递给toc
以检查此计时器上的运行时间,而不是默认的内部计时器。
示例1:具有内部计时器的基准测试代码
tic;#许多计算之后。。。elapsed_time=toc;
示例2:混合计时器id和内部计时器
抽搐;暂停(1);toc⇒ 经过时间为1.0089秒。id=tic;暂停(2);toc(id)⇒ 运行时间为2.01142秒。toc运行时间为3.02308秒。
使命感抽搐
和toc
以这种方式允许嵌套的定时调用。
如果您对进程使用的CPU时间更感兴趣,则应使用cputime
函数。这个抽搐
和toc
函数返回调用之间经过的实际挂钟时间。这可能包括处理其他工作或什么都不做的时间。
()
¶
(id)
¶
经过的时间=
toc (…)
¶
用挂钟计时器测量经过的时间。
在不带参数的情况下,返回上次调用的内部时间所用的秒数抽搐
.
当给定标识符时id对于特定计时器,返回自计时器以来经过的秒数id已初始化。
详见抽搐
,例如使用抽搐
/toc
.
()
¶
(n)
¶
旧状态=
暂停 在…上
¶
旧状态=
暂停 关
¶
旧状态=
暂停 查询
¶
暂停程序的执行或更改暂停函数的状态。
如果在没有输入参数的情况下调用,则程序将挂起,直到输入一个构造函数。If自变量n是一个正的实数,表示程序应暂停的秒数,例如:
抽搐;停顿(0.05);toc-|运行时间为0.05039秒。
以下示例打印一条消息,然后等待5秒钟,然后清除屏幕。
disp(“请稍候…”);暂停(5);clc;
如果使用字符串参数调用on
,关
或查询
,暂停函数的状态被更改或查询。状态为关
,暂停函数立即返回。可选返回值包含暂停函数的先前状态。在以下示例中,暂停在本地被禁用:
old_state=暂停(“关闭”);抽搐;停顿(0.05);toc-|运行时间为3.00407e-05秒。暂停(旧状态);
当程序暂停时,Octave仍然处理图形绘制和图形回调执行。
详见: kbhit.
天=
日期编号 (日期向量)
¶
天=
日期编号 (年,月,白天)
¶
天=
日期编号 (年,月,白天,小时)
¶
天=
日期编号 (年,月,白天,小时,分钟)
¶
天=
日期编号 (年,月,白天,小时,分钟,第二)
¶
天=
日期编号 (“datestr”)
¶
天=
日期编号 (“datestr”,f)
¶
天=
日期编号 (“datestr”,</p>)
¶
[天,秒] =
日期编号 (…)
¶
将输入的日期/时间返回为连续的日期编号,将1月1日定义为第1天。
整数部分,地板天)
统计日期输入中的完整天数。
分数部分,雷姆(天1.
对应于给定日期的时间。
输入可以是日期向量(详见日期向量
),日期字符串(详见日期str
),或直接指定为输入。
当处理输入的日期串时,f是用于解释日期字符串的格式字符串(详见日期str
). 如果没有格式f则通过各种格式执行相对较慢的搜索。最好指定formatstringf如果已知的话。不指定特定成分的格式的值将设置为零。未指定日期的格式将默认为当前年份的1月1日。
单独通过时年,月,白天等参数,每个参数都可以是标量或非标量数组。非标量输入必须全部具有相同的大小。标量输入将被扩展为非标量输入的大小。
</p>是本世纪初两位数年份的参考年份。如果未指定,则默认为当前年份减去50。
可选输出秒以比更高的精度保存指定日期的时间天.
笔记:
示例:
从datestrs:d=datenum(“1966-06-14”)转换⇒ d=718232
d=日期编号({“1966-06-14”、“1966-05-15”、“196 6-06-16”})⇒ d=718232 718233 718234
从datevec转换:d=datenum([1966 06 14])⇒ d=718232
d=日期([1966 06 14 23 59 59])⇒ d=718232.9999884259
分别指定日期组件:d=datenum(1966,6,14)⇒ d=718232
d=datenum(1966,魔术(3),1)⇒ d=718280 718068 718219 718127 718188 718249 718158 718311 718099
小心datenums将地球的特定时间表示为awhole。它们不考虑时区(基于时间和地点的变化),也不考虑夏令时引起的季节变化(基于当地法规的时间变化)。请注意,当函数解释时区和DST偏移时,可以创建日期编号,例如日期str
,不存在或不明确。
小心此函数不会尝试处理儒略历1582年10月15日之前的日期错误多达11天。此外,请注意,只有罗马天主教国家在1582年采用了历法。直到1924年,它才被各地采用。有关详细信息,详见格里高利日历上的维基百科条目。
警告闰秒被忽略。维基百科上有一个闰秒表。
算法:Peter Baum(http://vsg.cape.com/~pbaum/date/date0.htm)
str=
日期str (日期)
¶
str=
日期str (日期,f)
¶
str=
日期str (日期,f,</p>)
¶
根据格式设置给定日期/时间的格式f并在中返回结果str.
日期是一个序列号(详见日期编号
),adate向量(参见日期向量
),或字符串或字符串的元胞数组。在后一种情况下,它被传递给日期向量
猜测输入日期格式。
f可以是对应于下表中某个代码的整数,也可以是日期格式字符串。
</p>是本世纪初的年份,在其中可以解释两位数的年份。如果未指定,则默认为当前年份减去50。
例如,日期730736.65149(2000-09-07 15:38:09.0934)的格式如下:
密码 | format | 实例 |
---|---|---|
0 | 年月日HH:MM:SS | 2000年9月7日15:38:09 |
1 | dd-mmm-yyyy | 2000年9月7日 |
2 | 年月日 | 09/07/00 |
3 | mmm | 九月 |
4 | m | S |
5 | 毫米 | 09 |
6 | 毫米/天 | 09/07 |
7 | dd | 07 |
8 | ddd | 清华大学 |
9 | d | T |
10 | 年份 | 2000 |
11 | yy | 00 |
12 | mmmyy | 9月00日 |
13 | HH:MM:SS | 15:38:09 |
14 | HH:MM:SS下午 | 下午3:38:09 |
15 | HH:MM | 15:38 |
16 | HH:MM PM | 下午3:38 |
17 | QQ-y | Q3-00 |
18 | Q3 | |
19 | dd/mm | 07/09 |
20 | 年月日 | 07/09/00 |
21 | 年月日HH:MM:SS | 2000年9月7日15:38:08 |
22 | 年月日 | 2000年9月7日 |
23 | 年/月/日 | 09/07/2000 |
24 | 年/月/日 | 07/09/2000 |
25 | 年/月/日 | 00/09/07 |
26 | 年/月/日 | 2000/09/07 |
27 | QQ--yyy | Q3-2000 |
28 | mmmyyyy | 2000年9月 |
29 | 日期格式 | 2000-09-07 |
30 | yyyymmddTHMMSS | 20000907T153808 |
31 | yyyy-mm-dd HH:mm:SS | 2000-09-07 15:38:08 |
如果f是一个格式字符串,可以识别以下符号:
象征 | 意思 | 实例 |
---|---|---|
年份 | 全年 | 2005 |
yy | 两位数年份 | 05 |
毫米 | 完整月份名称 | 十二月 |
mmm | 缩写月份名称 | 十二月 |
毫米 | 数字月份编号(用零填充) | 01, 08, 12 |
m | 月份名称的第一个字母(大写) | D |
dddd | 完整的工作日名称 | 星期日 |
ddd | 工作日名称缩写 | 星期日 |
dd | 数字日期(用零填充) | 11 |
d | 工作日名称的第一个字母(大写) | S |
HH | 一天中的小时,用零填充, | 09:00 |
如果设置了PM,则用空格填充 | 上午9:00 | |
毫米 | 小时的分钟(用零填充) | 10:05 |
SS | 分秒(用零填充) | 10:05:03 |
FFF | 毫秒秒(用零填充) | 10:05:03.012 |
调幅 | 使用12小时时间格式 | 上午11:30 |
颗粒物 | 使用12小时时间格式 | 晚上11:30 |
如果f未指定或-1
,则使用0、1或16,具体取决于的日期部分还是时间部分日期是空的。
如果</p>未指定,则默认为当前年份减去50。
如果给定了日期的矩阵或元胞数组,则返回日期字符串的列向量。
v=
日期向量 (日期)
¶
v=
日期向量 (日期,f)
¶
v=
日期向量 (日期,</p>)
¶
v=
日期向量 (日期,f,</p>)
¶
[y,m,d,h,惯性矩,s] =
日期向量 (…)
¶
转换序列号(详见日期编号
)或日期字符串(详见日期str
)转换为日期向量。
日期向量是一个有六个成员的行向量,分别表示年、月、日、小时、分钟和秒。
日期数字输入可以是标量数组,也可以是非标量数组。日期字符串可以是单个日期字符串,也可以是每行都是日期字符串的二维日期字符数组,或者是任何维度的数组字符串数组,每个数组元素都包含单个日期字符串。
v是一个二维的日期向量数组,每行一个日期向量。对于数组输入,排序v基于中日期的列主要顺序数据.
f是用于解释日期字符串的格式字符串(详见日期str
). 如果日期是一个字符串或字符串的元胞数组,但未指定格式,使用启发式方法猜测输入格式。这些试探法可能会导致与用户预期的结果不同的匹配。此外,这涉及到通过各种格式进行相对较低的搜索。最好指定格式字符串f如果已知的话。未指定特定时间分量的格式的值将设置为零。不指定特定日期组件的格式将默认该组件为当前年份的1月1日。为了计算日期向量,即使后面的字符包含额外的时间/日期信息,也会忽略这些字符。
</p>是本世纪初两位数年份的参考年份。如果未指定,则默认为当前年份减去50。
c=
日历 ()
¶
c=
日历 (d)
¶
c=
日历 (y,m)
¶
(…)
¶
以6x7矩阵形式返回当前月历。
如果d如果指定了,则返回包含日期的月份的日历d,必须是序列日期号或日期字符串。
如果y和m如果指定了,则返回年份的日历y和月份m.
如果未指定输出参数,请在屏幕上打印日历,而不是返回矩阵。
[n,s] =
周工作日 (d)
¶
[n,s] =
周工作日 (d,format)
¶
在中以数字形式返回星期几n作为一个字符串s.
一周中的日子编号为1-7,第一天是星期日。
d是一个序列日期号或日期字符串。
如果字符串format不存在或等于短的
然后s将包含工作日的缩写名称。如果format是长的
然后s将包含全名。
基于的返回值表format:
n | 短的 |
长的 |
---|---|---|
1 | 星期日 | 星期日 |
2 | 星期一 | 星期一 |
3 | 星期二 | 星期二 |
4 | 星期三 | 星期三 |
5 | 清华大学 | 星期四 |
6 | 星期五 | 星期五 |
7 | 星期六 | 星期六 |
详见: eomday,is_leap_year,日历,日期编号,日期向量.
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号