sec
分钟后的秒数(0-60)。这里的数字可以是60来说明闰秒。
min
小时后几分钟(0-59)。
hour
自午夜(0-23)起的小时数。
mday
一个月的哪一天(1-31)。
mon
自1月以来的几个月(0-11)。
year
自1900年以来的岁月。
wday
自周日(0-6)以来的天数。
yday
自1月1日起的天数(0-365)。
isdst
夏令时标志。
gmtoff
从UTC偏移的秒数。
zone
时区。
在以下函数的描述中,此结构体被称为tm_struct.
seconds=
time ()
¶
返回当前时间作为自epoch以来的秒数。
历元参考1970年1月1日00:00:00 UTC(协调世界时)。例如,1997年2月17日星期一07:15:06 UTC,返回的值为time
为856163706。
详见: strftime,strptime,localtime,gmtime,mktime,now,date,clock,datenum,datestr,datevec,calendar,weekday.
t =
now ()
¶
将当前的本地日期/时间作为序列号返回(详见datenum
).
整体部分,floor (now)
对应于今天和1月1日之间的天数。
分数部分,rem (now, 1)
对应于当前时间。
str=
ctime (t)
¶
转换从返回的值time
(或任何其他非负整数),返回到本地时间,并返回与相同形式的字符串asctime
.
函数ctime (time)
相当于asctime (localtime (time))
例如
ctime (time ()) ⇒ "Mon Feb 17 01:15:06 1997\n"
tm_struct=
gmtime (t)
¶
给定从返回的值time
,或任何非负整数,返回与UTC(协调世界时)对应的时间结构体。
例如
gmtime (time ()) ⇒ { usec = 0 sec = 6 min = 15 hour = 7 mday = 17 mon = 1 year = 97 wday = 1 yday = 47 isdst = 0 gmtoff = 0 zone = GMT }
详见: strftime,strptime,localtime,mktime,time,now,date,clock,datenum,datestr,datevec,calendar,weekday.
tm_struct=
localtime (t)
¶
给定从返回的值time
,或任何非负整数,返回与本地时区对应的时间结构体。
localtime (time ()) ⇒ { usec = 0 sec = 6 min = 15 hour = 1 mday = 17 mon = 1 year = 97 wday = 1 yday = 47 isdst = 0 gmtoff = -21600 zone = CST }
详见: strftime,strptime,gmtime,mktime,time,now,date,clock,datenum,datestr,datevec,calendar,weekday.
seconds=
mktime (tm_struct)
¶
将与本地时间对应的时间结构体转换为自epoch以来的秒数。
例如
mktime (localtime (time ())) ⇒ 856163706
详见: strftime,strptime,localtime,gmtime,time,now,date,clock,datenum,datestr,datevec,calendar,weekday.
str=
asctime (tm_struct)
¶
使用以下格式将时间结构体转换为字符串:"ddd mmm mm HH:MM:SS yyyy\n"
.
例如
asctime (localtime (time ())) ⇒ "Mon Feb 17 01:15:06 1997\n"
这相当于ctime (time ())
.
str=
strftime (fmt,tm_struct)
¶
格式化时间结构体tm_struct以灵活的方式使用formatstringfmt包含'%'替换类似于printf
.
除非另有说明,否则被替换的字段具有固定的大小;如有必要,会填充数字字段。默认情况下,填充为零;对于显示单个数字的字段,可以通过以下方式更改或禁止填充%'使用下面描述的一个修饰符。未知字段值被复制为普通字符。所有其他字符都会被复制到输出中,而不会发生更改。例如
strftime ("%r (%Z) %A %e %B %Y", localtime (time ())) ⇒ "01:15:06 AM (CST) Monday 17 February 1997"
Octave的strftime
函数支持ANSI C字段值的超集。
文字字符字段:
%%
符号
%n
换行符。
%t
制表符。
数字修饰符(非标准扩展):
- (dash)
请勿填充字段。
_ (underscore)
用空格填充字段。
时间字段:
%H
小时(00-23)。
%I
小时(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)。
%X
区域设置的时间表示形式(%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,localtime,gmtime,mktime,time,now,date,clock,datenum,datestr,datevec,calendar,weekday.
[tm_struct,nchars] =
strptime (str,fmt)
¶
转换字符串str到时间结构体tm_struct在格式字符串的控制下fmt.
如果fmt未能匹配,nchars为0;否则,它被设置为最后匹配的字符加1的位置。请始终检查这一点,除非您确信日期字符串将被正确解析。
详见: strftime,localtime,gmtime,mktime,time,now,date,clock,datenum,datestr,datevec,calendar,weekday.
本节中描述的大多数剩余函数都不是以标准C库为模式的。有些可与兼容MATLAB并且提供其他的是因为它们是有用的。
datevec=
clock ()
¶
[datevec,isdst] =
clock ()
¶
将当前本地日期和时间作为日期向量返回。
日期向量包含以下字段:当前年份、月份(1-12)、日期(1-31)、小时(0-23)、分钟(0-59)和秒(0-61)。秒字段在小数点后有一个小数部分,以提高精度。
可选的第二个输出isdst如果夏令时(DST)对系统的时区有效,则为true。
例如
fix (clock ()) ⇒ 1993 8 20 4 56 1
clock
在具有gettimeofday
作用
str=
date ()
¶
以字符串形式返回当前日期,格式为DD-MMM-YYYY。
例如
date () ⇒ 20-Aug-1993
secs=
etime (t2,t1)
¶
返回从返回的两个时间值之间的差值(以秒为单位)clock
(t2-t1).
例如
t0 = clock (); # many computations later... elapsed_time = etime (clock (), t0);
将设置变量elapsed_time
到变量之后的秒数t0
已设置。
[total,user,system] =
cputime ();
¶
返回Octave会话使用的CPU时间。
第一个输出是执行进程所花费的总时间,等于第二个和第三个输出的总和,这两个输出分别是在用户模式下执行的CPU秒数和在系统模式下执行所花费的CPU秒数来表示。
如果您的系统无法返回CPU时间使用情况,cputime
为其每个输出值返回0。
请注意,因为Octave启动时使用了一些CPU时间,因此检查是否合理cputime
通过检查所用的CPU总时间是否为非零来起作用。
tf=
is_leap_year ()
¶
tf=
is_leap_year (year)
¶
如果返回trueyear是闰年,否则是假的。
如果没有指定年份,is_leap_year
使用当前年份。
例如
is_leap_year (2000) ⇒ 1
()
¶
id=
tic ()
¶
初始化挂钟计时器。
调用tic
如果没有输出参数,则重置内部计时器。对的后续调用toc
返回自设置计时器以来的秒数。
如果用一个输出参数调用,tic
创建一个新的定时器实例并返回一个定时器标识符id这里的id是类型的标量uint64
可以传递给toc
以检查此计时器上的运行时间,而不是默认的内部计时器。
示例1:具有内部计时器的基准测试代码
tic; # many computations later... elapsed_time = toc;
示例2:混合计时器id和内部计时器
tic; pause (1); toc ⇒ Elapsed time is 1.0089 seconds. id = tic; pause (2); toc (id) ⇒ Elapsed time is 2.01142 seconds. toc Elapsed time is 3.02308 seconds.
调用tic
和toc
以这种方式允许嵌套的定时调用。
如果您对进程使用的CPU时间更感兴趣,则应使用cputime
函数。这里的tic
和toc
函数返回调用之间经过的实际挂钟时间。这可能包括处理其他起作用或什么都不做的时间。
()
¶
(id)
¶
elapsed_time=
toc (…)
¶
用挂钟计时器测量经过的时间。
在不带参数的情况下,返回上次调用的内部时间所用的秒数tic
.
当给定标识符时id对于特定计时器,返回自计时器以来经过的秒数id已初始化。
详见tic
,例如使用tic
/toc
.
()
¶
(n)
¶
old_state=
pause ("on")
¶
old_state=
pause ("off")
¶
old_state=
pause ("query")
¶
暂停程序的执行或更改暂停函数的状态。
如果在没有输入参数的情况下调用,则程序将挂起,直到输入一个构造函数。If自变量n是一个正的实数,表示程序应暂停的秒数,例如:
tic; pause (0.05); toc -| Elapsed time is 0.05039 seconds.
以下示例打印一条消息,然后等待5秒钟,然后清除屏幕。
disp ("wait please..."); pause (5); clc;
如果使用字符串参数调用"on"
,"off"
或"query"
,暂停函数的状态被更改或查询。状态为"off"
,暂停函数立即返回。可选返回值包含暂停函数的先前状态。在以下示例中,暂停在本地被禁用:
old_state = pause ("off"); tic; pause (0.05); toc -| Elapsed time is 3.00407e-05 seconds. pause (old_state);
当程序暂停时,Octave仍然处理图形绘制和图形回调执行。
详见: kbhit.
days=
datenum (datevec)
¶
days=
datenum (year,month,day)
¶
days=
datenum (year,month,day,hour)
¶
days=
datenum (year,month,day,hour,minute)
¶
days=
datenum (year,month,day,hour,minute,second)
¶
days=
datenum ("datestr")
¶
days=
datenum (“datestr”,f)
¶
days=
datenum (“datestr”,p)
¶
[days,secs] =
datenum (…)
¶
将输入的日期/时间返回为连续的日期编号,将1月1日定义为第1天。
整数部分,floor (days)
统计日期输入中的完整天数。
分数部分,rem (days, 1)
对应于给定日期的时间。
输入可以是日期向量(详见datevec
),日期字符串(详见datestr
),或直接指定为输入。
当处理输入的日期串时,f是用于解释日期字符串的格式字符串(详见datestr
). 如果没有格式f则通过各种格式执行相对较慢的搜索。最好指定formatstringf如果已知的话。不指定特定成分的格式的值将设置为零。未指定日期的格式将默认为当前年份的1月1日。
单独通过时year,month,day等参数,每个参数都可以是标量或非标量数组。非标量输入必须全部具有相同的大小。标量输入将被扩展为非标量输入的大小。
p是本世纪初两位数年份的参考年份。如果未指定,则默认为当前年份减去50。
可选输出secs以比更高的精度保存指定日期的时间days.
注意:
示例:
Convert from datestrs: d = datenum ("1966-06-14") ⇒ d = 718232
d = datenum ({"1966-06-14", "1966-06-15", "1966-06-16"}) ⇒ d = 718232 718233 718234
Convert from datevec: d = datenum ([1966 06 14]) ⇒ d = 718232
d = datenum ([1966 06 14 23 59 59]) ⇒ d = 718232.9999884259
Specify date components separately: d = datenum (1966, 6, 14) ⇒ d = 718232
d = datenum (1966, magic(3), 1) ⇒ d = 718280 718068 718219 718127 718188 718249 718158 718311 718099
小心datenums将地球的特定时间表示为awhole。它们不考虑时区(基于时间和地点的变化),也不考虑夏令时引起的季节变化(基于当地法规的时间变化)。请注意,当函数解释时区和DST偏移时,可以创建日期编号,例如datestr
,不存在或不明确。
小心此函数不会尝试处理儒略历1582年10月15日之前的日期错误多达11天。此外,请注意,只有罗马天主教国家在1582年采用了历法。直到1924年,它才被各地采用。有关详细信息,详见格里高利日历上的维基百科分量。
警告闰秒被忽略。维基百科上有一个闰秒表。
算法:Peter Baum(http://vsg.cape.com/~pbaum/date/date0.htm)
str=
datestr (date)
¶
str=
datestr (date,f)
¶
str=
datestr (date,f,p)
¶
根据格式设置给定日期/时间的格式f并在中返回结果str.
date是一个序列号(详见datenum
),adate向量(详见datevec
),或字符串或字符串的元胞数组。在后一种情况下,它被传递给datevec
猜测输入日期格式。
f可以是对应于下表中某个代码的整数,也可以是日期格式字符串。
p是本世纪初的年份,在其中可以解释两位数的年份。如果未指定,则默认为当前年份减去50。
例如,日期730736.65149(2000-09-07 15:38:09.0934)的格式如下:
密码 | format | 实例 |
---|---|---|
0 | dd-mmm-yyyy HH:MM:SS | 07-Sep-2000 15:38:09 |
1 | dd-mmm-yyyy | 07-Sep-2000 |
2 | mm/dd/yy | 09/07/00 |
3 | mmm | Sep |
4 | m | S |
5 | mm | 09 |
6 | mm/dd | 09/07 |
7 | dd | 07 |
8 | ddd | Thu |
9 | d | T |
10 | yyyy | 2000 |
11 | yy | 00 |
12 | mmmyy | Sep00 |
13 | HH:MM:SS | 15:38:09 |
14 | HH:MM:SS PM | 3:38:09 PM |
15 | HH:MM | 15:38 |
16 | HH:MM PM | 3:38 PM |
17 | QQ-YY | Q3-00 |
18 | Q3 | |
19 | dd/mm | 07/09 |
20 | dd/mm/yy | 07/09/00 |
21 | mmm.dd,yyyy HH:MM:SS | Sep.07,2000 15:38:08 |
22 | mmm.dd,yyyy | Sep.07,2000 |
23 | mm/dd/yyyy | 09/07/2000 |
24 | dd/mm/yyyy | 07/09/2000 |
25 | yy/mm/dd | 00/09/07 |
26 | yyyy/mm/dd | 2000/09/07 |
27 | QQ-YYYY | Q3-2000 |
28 | mmmyyyy | Sep2000 |
29 | yyyy-mm-dd | 2000-09-07 |
30 | yyyymmddTHHMMSS | 20000907T153808 |
31 | yyyy-mm-dd HH:MM:SS | 2000-09-07 15:38:08 |
如果f是一个格式字符串,可以识别以下符号:
象征 | 意思 | 实例 |
---|---|---|
yyyy | Full year | 2005 |
yy | Two-digit year | 05 |
mmmm | Full month name | December |
mmm | Abbreviated month name | Dec |
mm | Numeric month number (padded with zeros) | 01, 08, 12 |
m | First letter of month name (capitalized) | D |
dddd | Full weekday name | Sunday |
ddd | Abbreviated weekday name | Sun |
dd | Numeric day of month (padded with zeros) | 11 |
d | First letter of weekday name (capitalized) | S |
HH | Hour of day, padded with zeros, | 09:00 |
or padded with spaces if PM is set | 9:00 AM | |
MM | Minute of hour (padded with zeros) | 10:05 |
SS | Second of minute (padded with zeros) | 10:05:03 |
FFF | Milliseconds of second (padded with zeros) | 10:05:03.012 |
AM | Use 12-hour time format | 11:30 AM |
PM | Use 12-hour time format | 11:30 PM |
如果f未指定或-1
,则使用0、1或16,具体取决于的日期部分还是时间部分date是空的。
如果p未指定,则默认为当前年份减去50。
如果给定了日期的矩阵或元胞数组,则返回日期字符串的列向量。
v=
datevec (date)
¶
v=
datevec (date,f)
¶
v=
datevec (date,p)
¶
v=
datevec (date,f,p)
¶
[y,m,d,h,mi,s] =
datevec (…)
¶
转换序列号(详见datenum
)或日期字符串(详见datestr
)转换为日期向量。
日期向量是一个有六个成员的行向量,分别表示年、月、日、小时、分钟和秒。
日期数字输入可以是标量数组,也可以是非标量数组。日期字符串可以是单个日期字符串,也可以是每行都是日期字符串的二维日期字符数组,或者是任何维度的元胞字符串数组,每个数组元素都包含单个日期字符串。
v是一个二维的日期向量数组,每行一个日期向量。对于数组输入,排序v基于中日期的列主要顺序data.
f是用于解释日期字符串的格式字符串(详见datestr
). 如果date是一个字符串或字符串的元胞数组,但未指定格式,使用启发式方法猜测输入格式。这些试探法可能会导致与用户预期的结果不同的匹配。此外,这涉及到通过各种格式进行相对较低的搜索。最好指定格式字符串f如果已知的话。未指定特定时间分量的格式的值将设置为零。不指定特定日期组件的格式将默认该组件为当前年份的1月1日。为了计算日期向量,即使后面的字符包含额外的时间/日期信息,也会忽略这些字符。
p是本世纪初两位数年份的参考年份。如果未指定,则默认为当前年份减去50。
d=
addtodate (d,q,f)
¶
添加q时间量(单位f)到串行日期num,d.
f必须是其中之一"year"
,"month"
,"day"
,"hour"
,"minute"
,"second"
或"millisecond"
.
c=
calendar ()
¶
c=
calendar (d)
¶
c=
calendar (y,m)
¶
(…)
¶
以6x7矩阵形式返回当前月历。
如果d如果指定了,则返回包含日期的月份的日历d,必须是序列日期号或日期字符串。
如果y和m如果指定了,则返回年份的日历y和月份m.
如果未指定输出参数,请在屏幕上打印日历,而不是返回矩阵。
[n,s] =
weekday (d)
¶
[n,s] =
weekday (d,format)
¶
在中以数字形式返回星期几n作为一个字符串s.
一周中的日子编号为1-7,第一天是星期日。
d是一个序列日期号或日期字符串。
如果字符串format不存在或等于"short"
然后s将包含起作用日的缩写名称。如果format是"long"
然后s将包含全名。
基于的返回值表format:
n | "short" |
"long" |
---|---|---|
1 | Sun | Sunday |
2 | Mon | Monday |
3 | Tue | Tuesday |
4 | Wed | Wednesday |
5 | Thu | Thursday |
6 | Fri | Friday |
7 | Sat | Saturday |
e=
eomday (y,m)
¶
返回当月的最后一天m年度y.
()
¶
(axis_str)
¶
(date_format)
¶
(axis_str,date_format)
¶
(…, "keeplimits")
¶
(…, "keepticks")
¶
(hax, …)
¶
将日期格式的刻度标签添加到轴。
应用刻度的轴从确定axis_str与值观相悖"x"
,"y"
或"z"
。默认值为"x"
.
标签的格式从变量决定date_format,可以是字符串或正整数datestr
接受。
如果第一个参数hax是一个轴句柄,然后绘制到此轴,而不是返回的当前轴gca
.
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2