第一篇:Excel日期相减(DATEDIF函数)
两个日期之间相隔“?年?月?天”
其实就是要要计算出这三个值,函数如下:
=DATEDIF(start-date,end-date,“Y”)
=DATEDIF(start-date,end-date,“YM”)
=DATEDIF(start-date,end-date,“MD”)
DATEDIF函数解释:
DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。
End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 为所需信息的返回类型。
Unit 返回:
“Y” 时间段中的整年数(只取整,不进行四舍五入)。
“YM” start_date 与 end_date 日期中月数的差。忽略日期中的日和年。即两日期相减后,不足一年那部分的月数。
“MD” start_date 与 end_date 日期中天数的差。忽略日期中的月和年。即两日期相减后,不足一月那部分的天数。
“M” 时间段中的整月数。
“D” 时间段中的天数。
“YD” start_date 与 end_date 日期中天数的差。忽略日期中的年。即两日期相减后,不足一年那部分以天计算的天数。
另外,可利用CONCATENATE函数是上述三个值的计算结果生成在一个单元格: CONCATENATE(DATEDIF(start-date,end-date,“y”),“年”,DATEDIF(start-date,end-date,“ym”),“个月”,DATEDIF(start-date,end-date,“MD”),“天”)
第二篇:R函数总结系列之一日期函数
R函数总结系列之一日期函数
返回当前日期时间,有两种方式:
1.Sys.time()
2.date()(常用)
仅返回当前日期,使用函数Sys.Date()。
转换日期变量格式,有多种方式:
as.Date():此函数有多种使用方式。其一,类似于函数format()和as.character(),返回给定的日期参数的特定格式,如as.Date(Sys.Date())的返回结果为“2011-08-09”。其
二、形式as.Date(x,origin)返回自参数origin(参数值为一日期)起第x天。如as.Date(2, origin=“2011-08-09”)的返回结果为“2011-08-11”。
format():如命令format(Sys.Date(), “%Y-%m-%d %w”)的返回结果为“2011-08-09 2”,其中2表示2011年8月9日为周二;若不指定返回的格式,则函数format()默认按照格式“%Y-%m-%d”返回,也就是说format(Sys.Date())和format(Sys.Date(), “%Y-%m-%d”)的返回结果是相同的。as.character(),其使用方法同format()相同。
返回特定日期所对应的weekday、月份、季度,分别使用函数weekdays()、months()、quarters()。求两个日期之间的差,可通过函数julian或者diff.Date()实现。如求2011-09-10和2011-08-09两天之间相隔的天数,可以通过julian(as.Date(“2011-09-10”),origin=as.Date(“2011-08-09”))[[1]]来求得。生成时间序列向量,也有多种方式:
使用函数as.Date()。如as.Date(1:20, origin=“2011-08-09”)。
使用函数seq()。和seq()的一般使用方式的区别在于,梯度可以是“day”, “week”, “month” 或者“year”,甚至是“3 months”等。如seq(as.Date(“2000/1/1”), by=“month”, length.out=3)的返回结果为 “2000-01-01” “2000-02-01” “2000-03-01”;函数seq(as.Date(“2000/1/1”), as.Date(“2003/1/1”), by=“6 months”)的返回结果为 “2000-01-01” “2000-07-01” “2001-01-01” “2001-07-01” “2002-01-01” “2002-07-01” “2003-01-01”。 绘制图形,使用plot()即可。plot(x,y),其中参数x为日期时间类型的对象,y是与x相对应的数值。
第三篇:PHP中时间和日期函数总结
PHP中时间和日期函数总结
2007-11-29 00:40:28 标签:php 时间 日期函数
PHP中所有函数都是UNIX纪元的,即从1970年1月1日开始的。日期是从这个时候开始的秒数。当一个函数调用从这时候计的秒数时,就把它当作(timestamp)时间戳。本地时间函数
1.string date(string format,inieger timestamp)该函数返回一个表示时间的字符串,是由string format 控制的。如: print(date(“Y年 m月d日”);//输出当前,年月日.print(date(“Y年 m月d日”,60*60*24*365*10);//输出1980年1月1日.?> 也许你会问,怎麽没有timestamp呢?若timestamp为空时,或不写时,表示使用当前时间一刻timestamp.表示年份的控制符: Y---四位的年份 y---两位的年份
表示月份的控制符: m---从1-12的月份 F---英文月份名 M---简写的月份名 表示日号的控制符: d---前面有0的月份中日期 j--前面没有0的日号 表示星期的控制符: l--英文星期 D--简写的星期
表示小时的控制符: h--从1到12小时 H---从0到23的小时 表示上下午的控制符 a---am或pm A---AM或PM 表示分钟的控制符: i---取值00-59 表示一年中第多少天: z--一年中的第多少天 2.array getdate(integer timestamp)该函数返回一个矩阵.如: $current_date=getdate();print($current_date(“hours”));print($current_date(“minutes”);print($current_date(“seconds”);?> 说明: 元素 描述
hours 24小时格式的小时 mday 月份中日期 minutes 分钟
mon 数字形式的月份 month 月份全称 seconds 秒数
wday 从0到6的数字形式的星期几 weekday 星期几的名称 year 年份
0 时间戳即从1970年1月1日到现在的秒数 yday 一年中数字形式的日期
3.boolean checkdate(integer month,integer day,integer year)该函数检查日期是否合法.如: if(checkdate(2,29,1980))print(“日期合法!n”);?> 4.integer time()该函数获得当前时间戳.如: print(time());//输出一大串整数 ?> 5.integer mktime(integer hour,integer minutes,integer seconds,integer month, integer day,integer year)该函数返回给出日期的时间戳,即从1970年1月1日到现在的秒数.如某参数超出范围,该函数也可以解释它,如13月即为第二年的一月.如: $currenthour=date(“H”);print(“50个小时后为:”);print(date(“h:i A l F dS,Y”,mktime($currenthour+50)));print(“
n”);?> 6.string microtime()该函数返回一个字符串,由当前时间的毫秒数+空格+从1970年开始的秒数 print(“start:microtime()
n”);for($index=0;$index<1000;$index++)print(“good!”);print(“stop:microtime()
n”);?> 还有,各林威治标准时间函数
第四篇:SQL 取日期函数DATENAME和DATEPART的异同之处分析--个人笔记
SQL函数中,Datename函数与Datepart函数的异同: 语法:DATENAME(datepart , date)
和 Datepart(datepart , date)
说明:DATENAME函数获取名称,根据不同的SQL引擎版本不同而得到差异的结果;获取时间的名称,如获取周:datename(wk,date)返回的是,星期几,如Sunday,Monday等,而datepart(wk,date)则返回数值,如星期一则返回2,星期天则为1,同样的datename(datepart , date)可以获取月分,而Datepart(datepart , date)则获取月分对应值,如一月为1等。
当时间的名称值等于数值时,两个函数取得相同的值。如:datename(dy,getdaet())=datepart(dy,getdate()).以下为该两个函数的第一个参数的可取值:
取年:yy, yyyy;
取月:m,mm
取季:q,qq
取第几周:dw
取周几:wk,w
取一年中第多少日:dy
取日期中的日:day,dd
取时、分、秒:hh,mi,ss
说明:weekday(dw)日期部分返回星期几(星期天、星期一等)。
Quarter(qq)返回季度值,一年中的第几季度。
dayofyear(Dy),返回一年当中的第几天值。
例子:
在多数SQL SERVER 英文版本中(以及部分繁体版),SELECT DATENAME(month, getdate())
得到
January ;
而在简体中文版中则得到 :
01
而SELECT DATEPART(month,getdate())则在所有版本中都得到 1
相同的,在取周几的值时也有同样的情况存在。
在这些版本中,英文原版中使用DATENAME函数将得到最原本的值。