date函数的使用方法及实例 left函数用法
本篇文章给大家谈谈date函数的使用方法及实例,以及left函数用法对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
java语言中的date类及方法的用法
Date和Calendar是Java类库里提供对时间进行处理的类,由于日期在商业逻辑的应用中占据着很重要的地位,所以在这里想对这两个类进行一个基本的讲解,由于技术有限,不到之处请指正。
Date类顾名思义,一看就知道是和日期有关的类了,这个类最主要的作用就是获得当前时间了,然而这个类里面也具有设置时间以及一些其他的功能,可是由于本身设计的问题,这些方法却遭到众多批评,而这些遭受批评的功能都已移植到另外一个类里面,这就是今天要讲到的第二个类Calendar里面。
在讲两个类之前,这里又不能不多提一个类,那就是DateFormat类,这个类是用来格式化日期的,稍后也会讲到。
首先,让我们来看一个获取当前时间的例子:
Date date= new Date();
System.out.println(date.getTime());上面的语句首先创建了Date的一个对象,接着使用getTime方法获得当前的时间,但是注意了,输出后的结果确实一串长整型的数字,这是为什么?实际上这是系统根据当前时间计算出来的一个long型的数,至于是如何计算出来的就不在本文中讲述了,那既然这样的话又如何显示正确的时间呢?这就要利用到上面的DateFormat类了,这个类是一个基类,它有一个子类是SimpleDateFormat,具体用法请看下面的代码:
Date date= new Date();
SimpleDateFormat dateFm= new SimpleDateFormat("EEEE-MMMM-dd-yyyy");
System.out.println(dateFm.format(date));这段代码开始创建了一个Date的对象,用来获取当前时间,而重点就在于后面的SimpleDateFormat对象,这个对继承了DateFormat,利用format方法对Date对象进行格式化,然后输出,而格式的定制是由用户定制的,EEEE代表星期,MMMM代表月份,而dd代表日,yyyy代表年。使用这个方法就可以根据用户自定义的格式进行输出时间。
上面介绍了由用户自定义格式的输出时间,下面将来介绍通过JAVA类库提供的标准格式输出时间,这就要用到DateFormat类了,请看以下代码:
Date date= new Date();
DateFormat dateFm= DateFormat.getDateTimeInstance(DateFormat.SHORT,
DateFormat.SHORT);
System.out.println(dateFm.format(date));这里使用的方法和用户自定义的方法差不多,只是这里使用的是一个抽象类,由于DateFormat是一个抽象类,所以它不能通过构造函数构造对象,在这里是通过getDateTimeInstance()方法获得该对象,而所传递的参数就是DateFormat里面定义的一些常量,系统根据这些常量输出当前时间,由于这里使用的是getDateTimeInstance方法,所以将传递两个常量参数,用来分别格式化日期和当前的时间。
上面讲述了如何获得系统时间以及如何格式化输出,那如果想获取或者设置时间当中的某一部分又该如何呢?例如年,月,日。这就要靠Calendar这个类了,这个类也是一个抽象类,它有一个子类GregorianCalendar,接下来我会利用这个子类来演示这个过程,请看以下代码:
DateFormat dateFormat= DateFormat.getDateInstance(DateFormat.FULL);
GregorianCalendar cal= new GregorianCalendar();
cal.setTime(new Date());
System.out.println("System Date:"+ dateFormat.format(cal.getTime()));
cal.set(GregorianCalendar.DAY_OF_WEEK,GregorianCalendar.FRIDAY);
System.out.println("After Setting Day of Week to Friday:"+
dateFormat.format(cal.getTime()));
这段代码当中,首先创建了一个DateFormat对象进行格式设置,接着创建了一个GregorianCalendar对象cal,接着使用cal.setTime()方法设置cal对象中的时间为当前时间,然后通过format格式化由cal.getTime()返回的时间进行输出,后面利用set方法设置cal的日期为当前星期的FRIDAY,此时cal中存储的时间就是这个星期五的该时刻,而后面利用format格式化输出,假如当前时间为2005年1月27日星期4的11点30分,那么最后将那句将会输出2005年1月28日星期5的11点30分。
求教一下excel时间函数怎么用
日期时间函数
1.DATE
用途:返回代表特定日期的序列号。
语法:DATE(year,month,day)
参数:year为一到四位,根据使用的日期系统解释该参数。默认情况下,Excel for Windows使用1900日期系统,而Excel for Macintosh使用1904日期系统。Month代表每年中月份的数字。如果所输入的月份大于12,将从指定年份的一月份执行加法运算。Day代表在该月份中第几天的数字。如果 day大于该月份的最大天数时,将从指定月份的第一天开始往上累加。
注意:Excel按顺序的序列号保存日期,这样就可以对其进行计算。如果工作簿使用的是1900日期系统,则Excel会将1900年1月1日保存为序列号1。同理,会将1998年1月1日保存为序列号35796,因为该日期距离1900年1月1日为35795天。
实例:如果采用1900日期系统(Excel默认),则公式“=DATE(2001,1,1)”返回36892。
2.DATEVaLUE
用途:返回date_text所表示的日期的序列号。该函数的主要用途是将文字表示的日期转换成一个序列号。
语法:DATEVaLUE(date_text)
参数:Date_text是用Excel日期格式表示日期的文本。在使用1900日期系统中,date_text必须是1900年1月1日到9999年12月31日之间的一个日期;而在1904日期系统中,date_text必须是1904年1月1日到9999年12月31日之间的一个日期。如果date_text超出上述范围,则函数DATEVaLUE返回错误值#value!。
如果省略参数date_text中的年代,则函数DATEVaLUE使用电脑系统内部时钟的当前年代,且date_text中的时间信息将被忽略。
实例:公式“=DATEVaLUE("2001/3/5")”返回36955,DATEVaLUE("2-26")返回36948。
3.DAY
用途:返回用序列号(整数1到31)表示的某日期的天数,用整数 1到 31表示。
语法:DAY(serial_number)
参数:Serial_number是要查找的天数日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统的35825表示的1998年1月30日),以及其他公式或函数的结果(如DATEVaLUE("1998/1/30"))。
实例:公式“=DAY("2001/1/27")”返回27,=DAY(35825)返回30,=DAY(DATEVaLUE("2001/1/25"))返回25。
4.DAYS360
用途:按照一年360天的算法(每个月30天,一年共计12个月),返回两日期间相差的天数。
语法:DAYS360(start_date,end_date,method)
参数:Start_date和end_date是用于计算期间天数的起止日期。如果start_date在end_date之后,则DAYS360将返回一个负数。日期可以有多种输入方式:带引号的文本串(例如:"1998/01/30")、序列号(例如:如果使用1900日期系统,则35825表示1998年1月30日)或其他公式或函数的结果(例如,DATEVaLUE("1998/1/30"))。
Method是一个逻辑值,它指定了在计算中是采用欧洲方法还是美国方法。若为FALSE或忽略,则采用美国方法(如果起始日期是一个月的31日,则等于同月的30日。如果终止日期是一个月的31日,并且起始日期早于30日,则终止日期等于下一个月的1日,否则,终止日期等于本月的30日)。若为TRUE则采用欧洲方法(无论是起始日期还是终止日期为一个月的 31号,都将等于本月的 30号)。
实例:公式“=DAYS360("1998/2/1","2001/2-1")”返回1080。
5.EDATE
用途:返回指定日期(start_date)之前或之后指定月份的日期序列号。
语法:EDATE(start_date,months)
参数:Start_date参数代表开始日期,它有多种输入方式:带引号的文本串(例如:"1998/01/30")、序列号(如35825表示1998年1月30日)或其他公式或函数的结果(例如:DATEVaLUE("1998/1/30"))。Months为在start_date之前或之后的月份数,未来日期用正数表示,过去日期用负数表示。
实例:公式“=EDATE("2001/3/5",2)”返回37016即2001年5月5日,=EDATE("2001/3/5",-6)返回36774即2000年9月5日。
6.EOMONTH
用途:返回start-date之前或之后指定月份中最后一天的序列号。
语法:EOMONTH(start_date,months)
参数:Start_date参数代表开始日期,它有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如1900日期系统中的35825)或其他公式或函数的结果(如DATEVaLUE("1998/1/30"))。Month为start_date之前或之后的月份数,正数表示未来日期,负数表示过去日期。
实例:公式“=EOMONTH("2001/01/01",2)”返回36981即2001年3月31日,=EOMONTH("2001/01/01",-6)返回36738即2000年7月31日。
7.HOUR
用途:返回时间值的小时数。即介于0(12:00 A.M.)到23(11:00 P.M.)之间的一个整数。
语法:HOUR(serial_number)
参数:Serial_number表示一个时间值,其中包含着要返回的小时数。它有多种输入方式:带引号的文本串(如"6:45 PM")、十进制数(如0.78125表示6:45PM)或其他公式或函数的结果(如TIMEVaLUE("6:45 PM"))。
实例:公式“=HOUR("3:30:30 PM")”返回15,=HOUR(0.5)返回12即12:00:00 AM,=HOUR(29747.7)返回16。
8.MINUTE
用途:返回时间值中的分钟,即介于0到59之间的一个整数。
语法:MINUTE(serial_number)
参数:Serial_number是一个时间值,其中包含着要查找的分钟数。时间有多种输入方式:带引号的文本串(如"6:45 PM")、十进制数(如 0.78125表示6:45 PM)或其他公式或函数的结果(如TIMEVaLUE("6:45 PM"))。
实例:公式“=MINUTE("15:30:00")”返回30,=MINUTE(0.06)返回26,=MINUTE(TIMEVaLUE("9:45 PM"))返回45。
9.MONTH
用途:返回以序列号表示的日期中的月份,它是介于 1(一月)和12(十二月)之间的整数。
语法:MONTH(serial_number)
参数:Serial_number表示一个日期值,其中包含着要查找的月份。日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如表示1998年1月30日的35825)或其他公式或函数的结果(如DATEVaLUE("1998/1/30"))等。
实例:公式“=MONTH("2001/02/24")”返回2,=MONTH(35825)返回1,=MONTH(DATEVaLUE("2000/6/30"))返回6。
10.NETWORKDAYS
用途:返回参数start-data和end-data之间完整的工作日(不包括周末和专门指定的假期)数值。
语法:NETWORKDAYS(start_date,end_date,holidays)
参数:Start_date代表开始日期,End_date代表终止日;Holidays是表示不在工作日历中的一个或多个日期所构成的可选区域,法定假日以及其他非法定假日。此数据清单可以是包含日期的单元格区域,也可以是由代表日期的序列号所构成的数组常量。
函数中的日期有多种输入方式:带引号的文本串(如"1998/01/30")、序列号(如使用1900日期系统的35825)或其他公式或函数的结果(如 DATEVaLUE("1998/1/30"))。
注意:该函数只有加载“分析工具库”以后方能使用
days360函数的使用方法及实例
days360函数用于根据一年360天的算法计算两个日期之间的天数差,常用于财务计算等场景。
函数语法:=DAYS360(start_date, end_date, [method])
start_date:起始日期(必需参数)。
end_date:结束日期(必需参数)。
[method]:可选参数,指定计算方法。欧美算法(默认):FALSE或省略,若起始日期的月份为31日,则替换为30日;结束日期的月份为31日且起始日期大于30日,则替换为30日。
美国算法:TRUE,若起始日期为31日且结束日期为下月1日,则起始日期视为30日;若结束日期为31日且起始日期小于30日,则结束日期视为31日,否则视为30日。
操作步骤:
打开Excel软件(如Excel2007)。
选中目标单元格(如A1)。
输入公式:=DAYS360(B1, TODAY(), FALSE)B1:存放起始日期的单元格(如生日)。
TODAY():自动获取当前日期作为结束日期。
FALSE:使用欧美算法(默认)。
在B1单元格输入起始日期(如生日2000-05-15)。
按下回车键,A1单元格将显示两个日期之间的360天算法天数差。
(输入公式后的界面示例)实例说明:假设B1单元格输入生日2000-05-15,当前日期为2023-10-20,公式=DAYS360(B1, TODAY(), FALSE)将返回这两个日期按360天算法计算的天数差。若使用欧美算法(FALSE),结果会按30天/月规则调整。
若使用美国算法(TRUE),结果可能因31日的特殊处理而不同。
(输入生日后显示天数差的界面示例)注意事项:确保日期格式正确,避免文本格式导致的计算错误。
欧美算法(默认)和美国算法的结果可能不同,需根据实际需求选择。
该函数适用于财务模型等需要简化天数计算的场景,但不适用于精确日历计算。
关于date函数的使用方法及实例的内容到此结束,希望对大家有所帮助。