锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 銆銆棣栧厛鍦ㄥ畼鏂圭綉绔欎笅杞絝ckeditor,娉ㄦ剰鏈変袱涓寘錛屼竴涓槸涓繪枃浠訛紝涓涓槸jsp鏁村悎鍖呯殑銆?/p>
銆銆1銆?/strong>瑙e帇FCKeditor_2.2.zip,(FCKeditor涓繪枃浠?錛屽皢FCKeditor鐩綍澶嶅埗鍒扮綉绔欐牴鐩綍涓嬶紝 銆銆2銆?/strong>瑙e帇FCKeditor-2.3.zip,(jsp,FCKeditor鏁村悎鍖?錛屼綔鐢細This is the JSP Integration Pack for using FCKeditor inside a java server page without the complexity of using a Java scriptlets or the javascript api. 銆銆3銆?/strong>灝咶CKeditor-2.3/web/WEB-INF/web.xml涓殑涓や釜servlet,servlet-mapping瀹氫箟澶嶅埗鍒拌嚜宸查」鐩殑web.xml鏂囦歡涓?br />
淇敼 銆銆5銆?/strong>鍦ㄩ渶浣跨敤FCKeditor鐨刯sp鐣岄潰涓姞鍏ワ細 銆銆1銆?/strong>灝咶CKeditor鐩綍涓嬪強瀛愮洰褰曚笅鎵鏈変互”_”涓嬪垝綰垮紑澶寸殑鏂囦歡澶瑰垹闄?br />
銆銆2.FCKeditor鏍圭洰褰曚笅鍙繚鐣檉ckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml鍏朵綑鍏ㄩ儴鍒犻櫎 銆銆瀹屾垚錛岀幇鍦ㄧ湅鏄笉鏄竻鐖戒簡寰堝錛?br />
銆銆瀹夊叏闂錛?/strong> 銆銆鍒版瀹夎FCKeditor灝卞畬鎴愪簡錛岀浉鍏寵緇嗛厤緗綘鍙互鐪婩CKeditor-2.3.zip,(jsp,FCKeditor鏁村悎鍖?鏂囦歡澶逛腑web/_samples鐩綍涓嬬殑渚嬪瓙銆?br />
杞澆鑷細http://homepage.yesky.com/253/2615753.shtml 瑙e喅闂浜岋細
]]>
]]>
]]>public class test {
public void func(int i){
System.out.println("invoke int");
}
public void func(String i){
System.out.println("invoke String");
}
public void func(byte i){
System.out.println("invoke byte");
}
public static void main(String []arg){
test test1=new test();
char a='a';
test1.func(a);
}
}
]]><servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SimpleUploader</servlet-name>
<url-pattern>/editor/filemanager/upload/simpleuploader</url-pattern>
</servlet-mapping>
涓?br />
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SimpleUploader</servlet-name>
<url-pattern>/FCKeditor/editor/filemanager/upload/simpleuploader</url-pattern>
</servlet-mapping>
4銆?/strong>灝咶CKeditor-2.3/web/WEB-INF/lib鐩綍涓嬫枃浠跺鍒跺埌鑷凡欏圭洰鐨刲ib鏂囦歡澶逛腑
// 鏂囦歡寮澶村鍔犲叆
<%@ taglib uri="http://fckeditor.net/tags-fckeditor" prefix="FCK" %>
//瑕佷嬌鐢ㄧ殑鍦版柟鍔犲叆
<FCK:editor id="content" basePath="/FCKeditor/"
imageBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector"
linkBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/jsp/connector"
flashBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector"
imageUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image"
linkUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File"
flashUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash">
this is default content :)
</FCK:editor>
鍚姩鏈嶅姟鍣ㄦ祴璇曘傘傘傘傛垚鍔熷悗錛屾潵緇橣CKeditor鐦︾槮韜?
銆銆3.灝唀ditor/filemanager/upload鐩綍涓嬫枃浠跺強鏂囦歡澶規竻絀?
銆銆4.榪樺彲浠ュ皢editor/skins鐩綍涓嬬殑鐨偆鏂囦歡鍒犻櫎錛屽彧鐣欎笅default涓濂楃毊鑲わ紙濡傛灉浣犱笉闇瑕佹崲鐨偆鐨勮瘽錛?br />
銆銆5.榪樺彲浠ュ皢editor/lang鐩綍涓嬫枃浠跺垹闄わ紝鍙繚鐣檈n.js, fcklanguagemanager.js, zh-cn.js, zh.js鏂囦歡錛堣嫳鏂囷紝綆浣撲腑鏂囷紝綣佷綋涓枃涓鑸簲璇ュ鐢ㄤ簡:) 錛?/p>
鍏跺畠闂錛?/strong>
銆銆鍦╯truts+spring+hibernate涓嬌鐢紝涓婁紶鍥懼儚鍔熻兘涓彲鑳戒細鍑虹幇鎶ワ細
銆銆The output format must have a ‘{http://xml.apache.org/xalan}content-handler’ property!
銆銆閿欑殑鎯呭喌錛屽皢WEB-INF/lib鐩綍涓媥alan*.jar鍒犻櫎璇曡瘯
銆銆鍋囧鍦ㄥ墠鍙拌鏅氱敤鎴蜂篃鑳戒嬌鐢‵CKEditor,瑕佹敞鎰忕浉鍏沖畨鍏ㄩ棶棰?鍦ㄥ墠鍙頒嬌鐢ㄦ椂,涓嶈浣跨敤榛樿鐨凾oolBar錛?br />
銆銆瑕佸皢娣誨姞鍥懼儚錛宖lash錛屽浘鍍忓煙鎸夐挳鍘繪帀
鍦╢ckconfig.js涓ぇ綰?8琛岄厤緗?nbsp; 閭d簺鏁扮粍涓殑鍊煎氨鍍忓綋浜庣晫闈笂鐨勪竴涓姛鑳斤紝浣犲彲浠ュ己琛屾妸姣忕粍鍊艱瘯鍑烘潵浠h〃浠涔堛?/p>
]]>
闂鎻忚堪錛?br />
涓錛氶氳繃xwindows鎴杢elnet絳夎繙紼嬫柟寮忓惎鍔╳eblogic鏃訛紝weblogic鏈嶅姟騫朵笉鏄仛涓哄悗鍙扮▼搴忚繍琛岀殑錛岃屾槸鍜岀粓绔湇鍔¤仈緋誨湪涓璧楓傛瘮濡傞氳繃telnet錛屽惎鍔╳eblogic鍚庢棤娉曡繑鍥炲埌鍛戒護琛岋紝鍏蟲帀telnet鐨勫悓鏃秝eblogic鏈嶅姟鍚屾椂涔熷叧闂傞氳繃xwindow鍚姩weblogic錛寈window鍏抽棴鍚巜eblogic鏈嶅姟鍚屾椂涔熷叧闂簡銆?br />
浜岋細鍚姩weblogic鍚庯紝搴旂敤涓棤娉曡瘑鍒腑鏂囧瓧絎︺?br />
瑙e喅闂涓錛?br />
鎴戠殑鐩爣灝辨槸閫氳繃榪滅▼鐨勬柟寮忚weblogic浣滀負鍚庡彴鏈嶅姟鍚姩錛屾煡璇簡涓浜涜祫鏂欏悗鍙戠幇鏈変袱縐嶆柟寮忥紝絎竴縐嶆祴璇曢氳繃錛岀浜岀榪樻湭嫻嬭瘯錛堟椂闂翠笉澶熶簡錛屽懙鍛碉級
鏂瑰紡涓錛?br />
1.鍦ㄦ垜浠緩鐨勫煙鏂囦歡澶逛笅鏂板緩涓涓猙oot.properties鏂囦歡錛屾瘮濡傛垜鐨勫煙璺緞錛?#8220;c:/bea/user_projects/file_domain/”錛屾墦寮嬈℃枃浠跺茍娣誨姞鐧誨綍鐢ㄦ埛鐨勭敤鎴峰悕鍜屽瘑鐮佺瓑鍐呭錛坵eblogic鐨勭敓浜фā寮忥級錛氬涓嬫墍紺?br />
username=weblogic
password=weblogic
2.鎵撳紑榪滅▼緇堢錛屽畾浣嶅埌weblogic鐨勫惎鍔ㄧ洰褰曪紝杈撳叆
nohup ./startWebLogic.sh
鏂瑰紡浜岋細淇敼shell鏂囦歡錛堜笉瀹夊叏錛夈?br />
1:瀹氫負鍒皊tartWebLogic.sh鏂囦歡錛岀紪杈戞鏂囦歡
WLS_USER="weblogic"
WLS_PW="weblogic"
2:瀹氫負鍒皐eblogic鍚姩鐩綍錛屽湪緇堢杈撳叆 nohup ./startWebLogic.sh銆?br />
闂铏界劧瑙e喅浜嗭紝浣嗗師鍥犺涓嶆竻妤氥?br />
1錛氱敤xwindow鐧誨綍solaris10錛屽茍閫夋嫨涓枃瀛楃闆嗐?br />
2錛氱敤緇堢鍚姩weblogic鏈嶅姟錛屾鏃剁殑weblogic鏈嶅姟鍙互璇嗗埆涓枃瀛楃銆傝屽叾瀹冪殑鏂瑰紡鍖呮嫭telnet鏂瑰紡鍚姩weblogic 鏈嶅姟閮芥棤娉曡瘑鍒腑鏂囥?/p>
銆銆2銆佸湪JSP緗戦〉涓幏鍙栭〉闈㈢殑鍚嶇О錛?
request.getRequestURI() ;//鏂囦歡鍚?
request.getRequestURL() ;//鍏ㄩ儴url
銆銆3銆?欏甸潰涓嶄繚鐣欑紦瀛橈細
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
銆銆4銆佹棩鏈熸椂闂達紙鏈嶅姟鍣ㄧ錛?
String datestr ;
java.text.DateFormat df = new java.text.SimpleDateFormat("MM鏈坉d鏃?HH:mm E"); //榪欓噷鏍煎紡鍖?
datestr = df.format(new java.util.Date()) ;
out.println(datestr);
銆銆鎴栬?
錛? java.util.Date shijian= new java.util.Date();%錛?br>錛?=shijian.getYear()+1900%錛烇紲%=shijian.getMonth()+1%錛烇紲%=shijian.getDate()%錛?br>錛?=shijian.getHour()%錛烇紲%=shijian.getMinute()%錛?/p>
銆銆5銆乯ava涓繍鐢ㄦ鍒欍俲dk闇鏄?.4浠ヤ笂 import="java.util.regex.*
銆銆6銆佺偣鍚庨鏄劇ず緗戦〉榪囨湡
銆銆鍦ㄩ噷闈㈠姞浠ヤ笅浠g爜
錛淢ETA http-equiv=Pragma content=no-cache>
錛淢ETA http-equiv=Cache-Control content=no-cache>
錛淢ETA http-equiv=Expires content=0>
銆銆鍜?3 鍘熺悊涓鏍楓?
銆銆7銆佽綆楁墽琛屾墍鑺辮垂鐨勬椂闂?
銆銆浠g爜寮濮嬪彇鏃墮棿錛岀粨鏉熷悗鍙栨椂闂達紝鐩稿噺
long t1 = System.currentTimeMillis();
///////////////// your code
long t2 = System.currentTimeMillis() ;
long time = t2-t1;
銆銆8銆佸洓鑸嶄簲鍏ワ紝淇濈暀灝忔暟鐐瑰悗涓や綅灝忔暟錛?
import java.text.*;
NumberFormat nf=NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
nf.setMinimumFractionDigits(2);
nf.format(numb);
鎴栬?+0.005 - 0.01)鍐嶅彇.鍚庝袱浣?
銆銆9銆乫orm鐨勯粯璁ゆ柟娉曟槸get.
銆銆post鏂瑰紡鏄悜鏈嶅姟鍣ㄤ紶閫佸ぇ瀹歸噺鏁版嵁鏃朵嬌鐢ㄧ殑鏂規硶銆傦紙鍐嶆墦寮涓涓猻ocket.?錛?
銆銆10銆?闃叉鐢ㄦ埛鐩存帴杈撳叆url榪涘幓欏甸潰錛?
銆銆涓 鏄湪瑕佽闂殑欏甸潰涓姞鍏ユ帶鍒?榪欎釜涓鑸敤session銆?
銆銆浜?鏄粠web鏈嶅姟鍣ㄦ帶鍒?瀵規煇涓鐩綍鐨勬墍鏈夎闂閫氳繃楠岃瘉.錛堟湁浜鴻鎶妀sp鏀懼埌web-inf涓嬶級
銆銆11銆佹暟鎹簱鏄痙atetime 鍨?錛屾彃鍏ュ綋鍓嶆椂闂村埌鏁版嵁搴擄細
java.sql.Date sqlDate = new java.sql.Date();
PreparedStatement pstmt = conn.prepareStatement("insert into foo(time) values(?)");
pstmt.setDate(1,sqlDate);
pstmt.executeUpdate();
銆銆鍏跺疄涓鑸暟鎹簱閮芥湁鑷繁鐨勭郴緇熸椂闂村嚱鏁般?
insert into foo(time) values(sysdate)
銆銆12銆?session瀛樺彇int綾誨瀷鐨勫彉閲忥細
session.setAttribute("int", i+""); //娉ㄦ剰榪欓噷i+""
int i = Integer.parseInt(session.getAttribute("int"));
銆銆session鐨勪竴浜涙蹇點?
銆銆鐢ㄦ埛鍦ㄦ祻瑙堢綉欏墊椂錛岀敱浜嶩ttp 鍗忚鏄竴縐嶆棤鐘舵佺殑鍗忚錛屽線寰鍦ㄤ笉鍚岀殑欏甸潰涔嬮棿瀛樺湪鏁版嵁浜ゆ崲鐨勯棶棰橈紝榪欏氨闇瑕佸湪榪欎簺涓嶅悓鐨勯〉闈箣闂村叡浜暟鎹傚父瑙佺殑瀹炵幇鏂規硶鏄妸瑕佸叡浜殑鏁版嵁淇濆瓨鍒癝ession 涓傛瘮濡傚湪鐢ㄦ埛鐧誨綍鐨勯〉闈腑鎶婁竴浜涚敤鎴風殑淇℃伅淇濆瓨鍒癝ession 涔嬩腑錛岀劧鍚庡湪鍏朵粬鐨勯〉闈腑璇誨彇鐢ㄦ埛鐨勪俊鎭傝繖浜涘叡浜殑鏁版嵁鍙互鏄瓧絎︿覆鎴栬呬笌Java 鐨勫師濮嬫暟鎹被鍨嬬浉鍏崇殑瀵硅薄錛屼篃鍙互鏄竴涓狫ava 瀵硅薄銆?
銆銆Session 鍙兘淇濆瓨瀵硅薄錛屼笉鑳戒繚瀛樺師濮嬬殑鏁版嵁綾誨瀷錛屾瘮濡傦細
session.setAttribute(“count”,10)
銆銆鏄潪娉曠殑璇彞錛屽鏋滆鎶婂間負10 鐨勬暣鏁頒繚瀛樺埌Session 涓紝闇瑕佷嬌鐢ㄤ互涓嬬殑鏂規硶錛?/p>
session.setAttribute(“count”,new Integer(10));
銆銆鐒跺悗鍦ㄥ彟涓涓〉闈腑浣跨敤錛?
(Integer)session.getAttribute(“count”)
銆銆鏉ユ妸榪欎釜鏁存暟璇誨彇鍑烘潵銆?
was涓緗彲浠ユ妸session鏀懼湪緋葷粺鐨勬暟鎹簱涓紝浣嗚繖鏍峰獎鍝嶆晥鐜囥俿ession澶у皬鏈濂戒笉瑕佸お澶?/p>
銆銆13銆佹妸瀛楃杞寲鎴怉SCII鐮?
int a='A'; out.println(a);
銆銆14銆丼tring s = new String("xyz");鍒涘緩浜嗕袱涓猄tring Object瀵硅薄錛屼竴涓槸“xyx”,涓涓槸鎸囧悜“xyx”鐨勫紩鐢ㄥ璞銆?
銆銆榪樻湁鍏稿瀷鐨別quals() 涓?== 榪欎釜鍙傝冨湪鍫嗘爤鍘熺悊銆?
銆銆15銆乻wtich涓嶈兘浣滅敤鍦╨ong涓婂拰String涓婏細
switch錛坋xpr1錛変腑錛宔xpr1鏄竴涓暣鏁拌〃杈懼紡銆備紶閫掔粰 switch 鍜?case 璇彞鐨勫弬鏁板簲璇ユ槸
int銆?short銆?char 鎴栬?byte銆俵ong,string 閮戒笉鑳戒綔鐢ㄤ簬swtich銆?
銆銆16銆丠ashtable鍜孒ashMap銆
銆銆Hashtable緇ф壙鑷狣ictionary綾伙紝鑰孒ashMap鏄疛ava1.2寮曡繘鐨凪ap interface鐨勪竴涓疄鐜癏ashMap鍏佽灝唍ull浣滀負涓涓猠ntry鐨刱ey鎴栬卾alue錛岃孒ashtable涓嶅厑璁窰ashtable鐨勬柟娉曟槸Synchronize鐨勶紝鑰孒ashMap涓嶆槸錛屽湪澶氫釜綰跨▼璁塊棶Hashtable鏃訛紝涓嶉渶瑕佽嚜宸變負瀹冪殑鏂規硶瀹炵幇鍚屾錛岃孒ashMap灝卞繀欏諱負涔嬫彁渚涘鍚屾銆?nbsp;
interface鍏抽敭瀛楃敤鏉ュ0鏄庝竴涓帴鍙o紝瀹冨彲浠ヤ駭鐢熶竴涓畬鍏ㄦ娊璞$殑綾伙紝騫朵笖涓嶆彁渚涗換浣曞叿浣撳疄鐜般?/span>interface鐨勭壒鎬ф暣鐞嗗涓嬶細
1. 鎺ュ彛涓殑鏂規硶鍙互鏈夊弬鏁板垪琛ㄥ拰榪斿洖綾誨瀷錛屼絾涓嶈兘鏈変換浣曟柟娉曚綋銆?/span>
2. 鎺ュ彛涓彲浠ュ寘鍚瓧孌碉紝浣嗘槸浼氳闅愬紡鐨勫0鏄庝負static鍜?/span>final銆?/span>
3. 鎺ュ彛涓殑瀛楁鍙槸琚瓨鍌ㄥ湪璇ユ帴鍙g殑闈欐佸瓨鍌ㄥ尯鍩熷唴錛岃屼笉灞炰簬璇ユ帴鍙c?/span>
4. 鎺ュ彛涓殑鏂規硶鍙互琚0鏄庝負public鎴栦笉澹版槑錛屼絾緇撴灉閮戒細鎸夌収public綾誨瀷澶勭悊銆?/span>
5. 褰撳疄鐜頒竴涓帴鍙f椂錛岄渶瑕佸皢琚畾涔夌殑鏂規硶澹版槑涓?/span>public綾誨瀷鐨勶紝鍚﹀垯涓洪粯璁よ闂被鍨嬶紝Java緙栬瘧鍣ㄤ笉鍏佽榪欑鎯呭喌銆?/span>
6. 濡傛灉娌℃湁瀹炵幇鎺ュ彛涓墍鏈夋柟娉曪紝閭d箞鍒涘緩鐨勪粛鐒舵槸涓涓帴鍙c?/span>
7. 鎵╁睍涓涓帴鍙f潵鐢熸垚鏂扮殑鎺ュ彛搴斾嬌鐢ㄥ叧閿瓧extends錛屽疄鐜頒竴涓帴鍙d嬌鐢?/span>implements銆?/span>
interface鍦ㄦ煇浜涘湴鏂瑰拰abstract鏈夌浉浼肩殑鍦版柟錛屼絾鏄噰鐢ㄥ摢縐嶆柟寮忔潵澹版槑綾諱富瑕佸弬鐓т互涓嬩袱鐐癸細
1. 濡傛灉瑕佸垱寤轟笉甯︿換浣曟柟娉曞畾涔夊拰鎴愬憳鍙橀噺鐨勫熀綾伙紝閭d箞灝卞簲璇ラ夋嫨鎺ュ彛鑰屼笉鏄娊璞$被銆?/span>
2. 濡傛灉鐭ラ亾鏌愪釜綾誨簲璇ユ槸鍩虹被錛岄偅涔堢涓涓夋嫨鐨勫簲璇ユ槸璁╁畠鎴愪負涓涓帴鍙o紝鍙湁鍦ㄥ繀欏昏鏈夋柟娉曞畾涔夊拰鎴愬憳鍙橀噺鐨勬椂鍊欙紝鎵嶅簲璇ラ夋嫨鎶借薄綾匯傚洜涓烘娊璞$被涓厑璁稿瓨鍦ㄤ竴涓垨澶氫釜琚叿浣撳疄鐜扮殑鏂規硶錛屽彧瑕佹柟娉曟病鏈夎鍏ㄩ儴瀹炵幇璇ョ被灝變粛鏄娊璞$被銆?/span>
浠ヤ笂灝辨槸鎺ュ彛鐨勫熀鏈壒鎬у拰搴旂敤鐨勯鍩燂紝浣嗘槸鎺ュ彛緇濅笉浠呬粎濡傛錛屽湪Java璇硶緇撴瀯涓紝鎺ュ彛鍙互琚祵濂楋紝鏃㈠彲浠ヨ鏌愪釜綾誨祵濂楋紝涔熷彲浠ヨ鎺ュ彛宓屽銆傝繖鍦ㄥ疄闄呭紑鍙戜腑鍙兘搴旂敤鐨勪笉澶氾紝浣嗕篃鏄畠鐨勭壒鎬т箣涓銆傞渶瑕佹敞鎰忕殑鏄紝鍦ㄥ疄鐜版煇涓帴鍙f椂錛屽茍涓嶉渶瑕佸疄鐜板祵濂楀湪鍏跺唴閮ㄧ殑浠諱綍鎺ュ彛錛岃屼笖錛?/span>private鎺ュ彛涓嶈兘鍦ㄥ畾涔夊畠鐨勭被涔嬪琚疄鐜般?/span>
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* 璁$畻浠繪剰2涓棩鏈熷唴鐨勫伐浣滄棩錛堟病鏈夎冭檻鍒板浐瀹氬亣鏃ワ級
* @author blw
*
*/
public class DateCal {
/**
* @param args
*/
/*
*
涓昏鎬濊礬錛?
瀵逛簬浠繪剰2涓棩鏈熸瘮濡傦細date_start=2006-10-1銆乨ate_end=2006-10-14 錛?br>棣栧厛璁$畻榪欒繛涓棩鏈熶箣闂寸殑鏃墮棿闂撮殧錛堝ぉ鏁幫級錛岀劧鍚庡垎鍒date_start 鍜宒ate_end 鍙栧緱瀹冧滑涓嬩竴涓槦鏈熶竴鐨勬棩鏈燂紝
榪欐牱灝卞彲浠ュ緱鍒頒竴涓柊鐨勫彲浠ユ暣闄?鐨勫畬鏁存棩鏈熼棿闅旓紙榪欎釜鏂扮殑鏃ユ湡闂撮殧宸茬粡鎶婃槦鏈熷嚑鐨勯棶棰樺墧鍑烘帀浜嗭級錛?br>鎹竴縐嶈娉曞氨鏄垜浠彲浠ュ緱鍒幫紝榪欎袱涓柊鐨勬棩鏈熶箣闂寸殑鍛ㄦ暟錛屾嬁榪欎釜鍛ㄦ暟涔樹互5灝辨槸宸ヤ綔鏃ユ湡浜嗭紙tmpWorkingDays錛夈?br>浣嗘槸榪欎釜鏃ユ湡騫朵笉鏄垜浠墍瑕佺殑鏃ユ湡錛屾帴涓嬫潵鎴戜滑瑕佸仛鐨勫氨鏄綆梔ate_start,date_end榪欎袱涓棩鏈熷浜庢牴鎹畠浠墍浜х敓鐨勬柊鐨勬棩鏈熶箣闂寸殑鏃墮棿鍋忕Щ閲忥紝
date_start鐨勫亸縐婚噺錛坉ate_start_change錛夋槸闇瑕佸姞鐨勶紝鑰宒ate_end鐨勮繖涓亸縐婚噺錛坉ate_end_change錛夋槸闇瑕佸噺鍘葷殑銆?
鏈鍚庢垜浠彧瑕佺敤tmpWorkingDays+date_start_change-date_end_change灝辨槸鎴戜滑鎵瑕佹眰鐨勫疄闄呭伐浣滄棩浜嗐?br>浠ヤ笅鏄墍鏈夊疄鐜頒唬鐮侊紙涓や釜鏃ユ湡璺ㄥ勾涔熸病鏈夐棶棰橈級銆?nbsp;
*
*/
public static void main(String[] args) {
try {
String strDateStart = "2007-8-1";
String strDateEnd = "2007-8-21";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date_start = sdf.parse(strDateStart);
Date date_end = sdf.parse(strDateEnd);
DateCal app = new DateCal();
Calendar cal_start = Calendar.getInstance();
Calendar cal_end = Calendar.getInstance();
cal_start.setTime(date_start);
cal_end.setTime(date_end);
System.out.println("鏄熸湡-->" + app.getChineseWeek(cal_start)
+ " 鏃ユ湡-->" + cal_start.get(Calendar.YEAR) + "-"
+ (cal_start.get(Calendar.MONTH) + 1) + "-"
+ cal_start.get(Calendar.DAY_OF_MONTH));
System.out.println("鏄熸湡-->" + app.getChineseWeek(cal_end) + " 鏃ユ湡-->"
+ cal_end.get(Calendar.YEAR) + "-"
+ (cal_end.get(Calendar.MONTH) + 1) + "-"
+ cal_end.get(Calendar.DAY_OF_MONTH));
System.out.println("宸ヤ綔鏃ヤ負-->"
+ app.getWorkingDay(cal_start, cal_end));
System.out.println("浼戞伅鏃?->"+app.getHolidays(cal_start, cal_end));
} catch (Exception e) {
// TODO: handle exception
}
}
public int getDaysBetween(java.util.Calendar d1, java.util.Calendar d2) {
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
java.util.Calendar swap = d1;
d1 = d2;
d2 = swap;
}
int days = d2.get(java.util.Calendar.DAY_OF_YEAR)
- d1.get(java.util.Calendar.DAY_OF_YEAR);
int y2 = d2.get(java.util.Calendar.YEAR);
if (d1.get(java.util.Calendar.YEAR) != y2) {
d1 = (java.util.Calendar) d1.clone();
do {
days += d1.getActualMaximum(java.util.Calendar.DAY_OF_YEAR);
d1.add(java.util.Calendar.YEAR, 1);
} while (d1.get(java.util.Calendar.YEAR) != y2);
}
return days;
}
/**
* 璁$畻2涓棩鏈熶箣闂寸殑鐩擱殧澶╂暟
* @param d1
* @param d2
* @return
*/
public int getWorkingDay(java.util.Calendar d1, java.util.Calendar d2) {
int result = -1;
if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end
java.util.Calendar swap = d1;
d1 = d2;
d2 = swap;
}
int betweendays = getDaysBetween(d1, d2);
int charge_date = 0;
int charge_start_date = 0;//寮濮嬫棩鏈熺殑鏃ユ湡鍋忕Щ閲?br> int charge_end_date = 0;//緇撴潫鏃ユ湡鐨勬棩鏈熷亸縐婚噺
// 鏃ユ湡涓嶅湪鍚屼竴涓棩鏈熷唴
int stmp;
int etmp;
stmp = 7 - d1.get(Calendar.DAY_OF_WEEK);
etmp = 7 - d2.get(Calendar.DAY_OF_WEEK);
if (stmp != 0 && stmp != 6) {// 寮濮嬫棩鏈熶負鏄熸湡鍏拰鏄熸湡鏃ユ椂鍋忕Щ閲忎負0
charge_start_date = stmp - 1;
}
if (etmp != 0 && etmp != 6) {// 緇撴潫鏃ユ湡涓烘槦鏈熷叚鍜屾槦鏈熸棩鏃跺亸縐婚噺涓?
charge_end_date = etmp - 1;
}
// }
result = (getDaysBetween(this.getNextMonday(d1), this.getNextMonday(d2)) / 7)
* 5 + charge_start_date - charge_end_date;
//System.out.println("charge_start_date>" + charge_start_date);
//System.out.println("charge_end_date>" + charge_end_date);
//System.out.println("between day is-->" + betweendays);
return result;
}
public String getChineseWeek(Calendar date) {
final String dayNames[] = { "鏄熸湡鏃?, "鏄熸湡涓", "鏄熸湡浜?, "鏄熸湡涓?, "鏄熸湡鍥?, "鏄熸湡浜?,
"鏄熸湡鍏? };
int dayOfWeek = date.get(Calendar.DAY_OF_WEEK);
// System.out.println(dayNames[dayOfWeek - 1]);
return dayNames[dayOfWeek - 1];
}
/**
* 鑾峰緱鏃ユ湡鐨勪笅涓涓槦鏈熶竴鐨勬棩鏈?br> *
* @param date
* @return
*/
public Calendar getNextMonday(Calendar date) {
Calendar result = null;
result = date;
do {
result = (Calendar) result.clone();
result.add(Calendar.DATE, 1);
} while (result.get(Calendar.DAY_OF_WEEK) != 2);
return result;
}
/**
*
* @param d1
* @param d2
* @return
*/
public int getHolidays(Calendar d1,Calendar d2){
return this.getDaysBetween(d1, d2)-this.getWorkingDay(d1, d2);
}
}