JAVA教程之java关于日期的运算等处置办法
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)运算jsp中的日期成绩及别的:D:D:D/**
*@authorimagebear
*/
日期成绩
1、猎取服务器端以后日期:
<%@pageimport="java.util.Date"%><%DatemyDate=newDate();%>
2、猎取以后年、月、日:
<%@pageimport="java.util.Date"%><%DatemyDate=newDate();intthisYear=myDate.getYear()+1900;//thisYear=2003intthisMonth=myDate.getMonth()+1;//thisMonth=5intthisDate=myDate.getDate();//thisDate=30%>
3、按当地时区输入以后日期
<%@pageimport="java.util.Date"%><%DatemyDate=newDate();out.println(myDate.toLocaleString());%>
输入了局为:
2003-5-30
4、猎取数据库中字段名为”publish_time“、范例为Datetime的值
<%@pageimport="java.util.Date"%><%...毗连数据库...ResultSetrs=...DatesDate=rs.getDate("publish_time");%>5、依照指定格局打印日期<%@pageimport="java.util.Date"%><%@pageimport="java.text.DateFormat"%><%DatedNow=newDate();SimpleDateFormatformatter=newSimpleDateFormat("Eyyyy.MM.ddathh:mm:ssazzz");out.println("Itis"+formatter.format(dNow));%>
输入的了局为:
Itis礼拜五2003.05.30at11:30:46上午CST
(更加细致的格局标记请参看SimpleDateFormat类)
6、将字符串转换为日期
<%@pageimport="java.util.Date"%><%@pageimport="java.text.DateFormat"%><%Stringinput="1222-11-11";SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");Datet=null;try{t=formatter.parse(input);out.println(t);}catch(ParseExceptione){out.println("unparseableusing"+formatter);}%>
输入了局为:
FriNov1100:00:00CST1222
7、盘算日期之间的距离
<%@pageimport="java.util.Date"%><%@pageimport="java.text.DateFormat"%><%Stringinput="2003-05-01";SimpleDateFormatformatter=newSimpleDateFormat("yyyy-MM-dd");Dated1=null;try{d1=formatter.parse(input);}catch(ParseExceptione){out.println("unparseableusing"+formatter);}Dated2=newDate();longdiff=d2.getTime()-d1.getTime();out.println("Differenceis"+(diff/(1000*60*60*24))+"days.");%>
输入了局为:
Differenceis29days.
8、日期的加减运算
办法:用Calendar类的add()办法
<%@pageimport="java.util.*"%><%@pageimport="java.text.*"%><%Calendarnow=Calendar.getInstance();SimpleDateFormatformatter=newSimpleDateFormat("Eyyyy.MM.ddathh:mm:ssazzz");out.println("Itisnow"+formatter.format(now.getTime()));now.add(Calendar.DAY_OF_YEAR,-(365*2));out.println("<br>");out.println("Twoyearsagowas"+formatter.format(now.getTime()));%>
输入了局为:
Itisnow礼拜五2003.05.30at01:45:32下战书CST
Twoyearsagowas礼拜三2001.05.30at01:45:32下战书CST
9、对照日期
办法:用equals()、before()、after()办法
<%@pageimport="java.util.*"%><%@pageimport="java.text.*"%><%DateFormatdf=newSimpleDateFormat("yyy-MM-dd");Dated1=df.parse("2000-01-01");Dated2=df.parse("1999-12-31");Stringrelation=null;if(d1.equals(d2))relation="thesamedateas";elseif(d1.before(d2))relation="before";elserelation="after";out.println(d1+"is"+relation++d2);%>
输入了局为:
SatJan0100:00:00CST2000isafterFriDec3100:00:00CST1999
10、纪录一件事所消费的工夫
办法:挪用两次System.getTimeMillis()办法,求差值
<%@pageimport="java.text.*"%><%longt0,t1;t0=System.currentTimeMillis();out.println("Cycstartsat"+t0);intk=0;for(inti=0;i<100000;i++){k+=i;}t1=System.currentTimeMillis();out.println("<br>");out.println("Cycendsat"+t1);out.println("<br>");out.println("Thisruntook"+(t1-t0)+"ms.");%>
输入了局为:
Cycstartsat1054275312432
Cycendsat1054275312442
Thisruntook10ms.
别的:怎样格局化小数
<%@pageimport="java.text.*"%><%DecimalFormatdf=newDecimalFormat(",###.00");doubleaNumber=33665448856.6568975;Stringresult=df.format(aNumber);out.println(result);%>
输入了局为:
33,665,448,856.66
在网上常常看到有人问怎样将取得以后工夫并转换成
yyyy-MM-dd年-月-日
hh:mm:ss小时-分钟-秒
yyyy-MM-ddHH:mm:ss年-月-日小时-分钟-秒
三种格局上面就是jspGUI的利用办法
<!--
jsp取得以后日期
-->
<!--导进处置工夫类,此类外部都是静态办法,间接挪用便可.-->
<%@pageimport="com.Mamak.util.TimeString"%>
<%
//取得以后日期工夫
StringnowDate=TimeString.getNowTime("yyyy-MM-dd");
StringnowTime=TimeString.getNowTime("HH:mm:ss");
StringnowDateTime=TimeString.getNowTime("yyyy-MM-ddHH:mm:ss");
out.println("nowDate:"+nowDate);
out.println("nowTime:"+nowTime);
out.println("nowDateTime:"+nowDateTime);
%>
//******************************************************
//GUI或java小程序取得妥当前日期
publicclassTest()
{
publicstaticvoidmain(Stringabc[])
{
//间接包名点类名点办法名利用
System.out.println("nowDate:"+com.Mamak.util.TimeString.getNowTime("yyyy-MM-dd"));
System.out.println("nowTime:"+com.Mamak.util.TimeString.getNowTime("HH:mm:ss"));
System.out.println("nowDateTime:"+com.Mamak.util.TimeString.getNowTime("yyyy-MM-ddHH:mm:ss"));
}
}
//******************************************************
//取得工夫的bean文件名TimeString.java
packagecom.Mamak.util;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
publicclassTimeString
{
publicTimeString()
{
}
publicstaticStringgetNowTime(StringtimeFormat)
{
SimpleDateFormatlformat=newSimpleDateFormat(timeFormat);
Calendarnow=Calendar.getInstance();
Stringnowstr=lformat.format(now.getTime());
returnnowstr;
}
publicstaticStringgetNotTime()
{
returngetNowTime("yyyy-MM-dd");
}
}
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包...... 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 是一种使网页(Web Page)产生生动活泼画面的语言 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 是一种使用者不需花费很多时间学习的语言 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 是一种突破用户端机器环境和CPU 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
页:
[1]