如果你用上了 Java8:
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來(lái)巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),成都創(chuàng)新互聯(lián)面向各種領(lǐng)域:成都宴會(huì)酒店設(shè)計(jì)等網(wǎng)站設(shè)計(jì)、營(yíng)銷型網(wǎng)站解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。
import?java.time.LocalDate;
import?java.util.Scanner;
public?class?Demo?{
public?static?void?main(String[]?args)?throws?Exception?{
try?(Scanner?in?=?new?Scanner(System.in))?{
System.out.println("輸入第一個(gè)日期的年月日,并用空格分開(kāi):");
LocalDate?date1?=?LocalDate.of(in.nextInt(),?in.nextInt(),?in.nextInt());
System.out.println("輸入第二個(gè)日期的年月日,并用空格分開(kāi):");
LocalDate?date2?=?LocalDate.of(in.nextInt(),?in.nextInt(),?in.nextInt());
long?days?=?Math.abs(date1.toEpochDay()?-?date2.toEpochDay());
System.out.printf("這個(gè)兩個(gè)日期相差了?%d?天\n",?days);
}
}
}
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
//以上均引用不同的package內(nèi)的類
public class MyMainFrame extends JFrame implements ActionListener {//MyMainFrame類extends “JFrame”類實(shí)現(xiàn) ActionListener的方法
MyCanvas myCanvas; //初始化對(duì)象MyCanvas類
JPanel panelNorth,panelPreview;//定義上方的面板,及預(yù)覽所需的面板
Button start,preview,set;//定義開(kāi)始,預(yù)覽,設(shè)定按鈕
Container container;//容器,得到內(nèi)容面板
public MyMainFrame() {//初使化
container=this.getContentPane(); //得到當(dāng)前對(duì)象的ContentPane,并且把它賦給container
start=new Button("開(kāi)始");//創(chuàng)建并初始新的Button(按鈕)對(duì)象,賦給start
start.addActionListener(this); //在這個(gè)按鈕對(duì)象中添加監(jiān)聽(tīng)器,范圍是當(dāng)前對(duì)象
preview=new Button("預(yù)覽");//同上,創(chuàng)建新的Button對(duì)象。。。。。
preview.addActionListener(this);//同上。。。。。
set = new Button("設(shè)置"); //同上。。。。。(感覺(jué)代碼都差不多吧?呵呵)
set.addActionListener(this);//同上
panelPreview=new JPanel(); 創(chuàng)建新的JPanel(面板)對(duì)象
panelPreview.setLayout(null); //設(shè)置面板對(duì)象的布局為空
Icon icon=new ImageIcon("pic/pic_"+MyCanvas.pictureID+".jpg"); //創(chuàng)建并初始新的圖標(biāo)對(duì)象。圖標(biāo)的圖片路徑是pic目錄下的pic與通過(guò)MyCanvas.pictureId取得字符串再與.jpg合并后的名稱。例如(pic/pic_1234.jsp)
JLabel label=new JLabel(icon); //定義新的JLable(java標(biāo)簽),并初始
label.setBounds(0,0,300,300); //設(shè)置標(biāo)簽的范圍(長(zhǎng)x軸,寬y軸,長(zhǎng)多,寬多少)
panelPreview.add(label); //面板對(duì)象中添加label這個(gè)對(duì)象
panelNorth=new JPanel(); //定義新的JPanel
panelNorth.setBackground(Color.red); //設(shè)置JPanel的背景色
panelNorth.add(start); //Jpanel加入按鈕
panelNorth.add(preview); //同上
panelNorth.add(set); //同上
myCanvas=new MyCanvas(); //實(shí)例化MyCanvas
container.add(myCanvas,BorderLayout.CENTER);//在容器(前邊定義好了這個(gè)對(duì)象)中添加myCanvas,設(shè)置它的布局為居中
container.add(panelNorth,BorderLayout.NORTH);//添加Jpanel,布局為北(也就是上)
this.setTitle("拼圖小游戲-"); //設(shè)置這個(gè)對(duì)象的題目叫。。。。。
this.setLocation(300,200); //設(shè)置它的初始位置
this.setSize(308,365); //設(shè)置大小
this.setResizable(false); //設(shè)置是否可以改變窗口的大小(否)
this.setVisible(true); //是否可以顯示(是)
this.setDefaultCloseOperation(3); //(swt和swing本人用的少)這個(gè)好像是按鈕的初始樣式是哪種吧。自己改下
}
public static void main(String[] args) {//類進(jìn)口,也就是主程序的進(jìn)口
// TODO 自動(dòng)生成方法存根
new MyMainFrame(); //實(shí)例化主框架
}
public void actionPerformed(ActionEvent arg0) {//對(duì)三個(gè)按鈕事件的處理
// TODO 自動(dòng)生成方法存根
Button button=(Button)arg0.getSource(); //取得通過(guò)監(jiān)聽(tīng)得到的動(dòng)作時(shí)間對(duì)象的源(getSource具體得到的是啥,我也不太清楚)
if(button==start){ //判斷。如果監(jiān)聽(tīng)到的是按start按鈕
myCanvas.Start(); //啟動(dòng)myCanvas
}else if(button==preview){ //如果是preview按鈕
if(button.getLabel()=="預(yù)覽"){ //如果按鈕的標(biāo)簽是"預(yù)覽"
container.remove(myCanvas); //容器銷毀myCanvas
container.add(panelPreview); //然后容器添加panelPreview對(duì)象
panelPreview.updateUI(); //panelPreview對(duì)象的upDateUI方法
container.repaint(); //調(diào)用容器重新畫(huà)圖的命令
button.setLabel("返回"); //標(biāo)簽設(shè)置成"返回"
}else{ //如果以上兩個(gè)if都不是,執(zhí)行下邊的語(yǔ)句
container.remove(panelPreview); //cantainer銷毀p....這個(gè)對(duì)象
container.add(myCanvas); //添加m...這個(gè)對(duì)象
container.repaint(); //容器重新畫(huà)圖
button.setLabel("預(yù)覽"); //設(shè)置標(biāo)簽名稱為"預(yù)覽"
}
}else if(button==set){//修改所選圖片 //如果間聽(tīng)到的是按set這個(gè)鍵的時(shí)候
Choice pic = new Choice(); //Choice實(shí)例化對(duì)象(這個(gè)是啥類,我也不知道,名字上看是選擇?)
pic.add("小貓"); //添加小貓
pic.add("小豬"); //添加小豬
pic.add("云"); //添加云
pic.add("QQ"); //添加qq
pic.add("卡通"); //添加卡通
pic.add("花"); //花
int i=JOptionPane.showConfirmDialog(this, pic, "選擇圖片", JOptionPane.OK_CANCEL_OPTION);//定義一個(gè)int類型的對(duì)象i,賦值成后邊的那些
if(i==JOptionPane.YES_OPTION){ //如果對(duì)象i與JOptionPane對(duì)象的YES...相等,則執(zhí)行下列代碼
MyCanvas.pictureID=pic.getSelectedIndex()+1; //MyC....這個(gè)類的pic...這個(gè)屬性等于pic.get......這個(gè)方法的結(jié)果+1
myCanvas.reLoadPictrue(); //myCanvas對(duì)象重新讀取圖片
Icon icon=new ImageIcon("pic/pic_"+MyCanvas.pictureID+".jpg"); //定義新的圖標(biāo)對(duì)象
JLabel label=new JLabel(icon); //初始新的標(biāo)簽(標(biāo)簽中加入圖標(biāo))
label.setBounds(0,0,300,300); //標(biāo)簽設(shè)置范圍
panelPreview.removeAll(); //調(diào)用pane....對(duì)象的remo...方法
panelPreview.add(label); //對(duì)象pan...調(diào)用add方法
panelPreview.repaint(); //調(diào)用。。。。對(duì)象重新畫(huà)的方法
}
}
}
}
------------------------
不太熟悉java的swt和swing,自己改下吧
d1.getTime()、d2.getTime()獲取兩個(gè)日期代表的毫秒數(shù),相減以后獲取兩個(gè)日差的毫秒數(shù),
24表示1天的小時(shí)數(shù),第一個(gè)60表示1小時(shí)的分鐘數(shù),第二個(gè)60表示1分鐘的秒數(shù),除以1000是把毫秒換成秒
首先 按照一定的格式輸入兩個(gè)日期的字符串
然后用SimpleDateFormat類轉(zhuǎn)換成Date實(shí)例date1, date2
然后
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
這樣你就有了兩個(gè)表示所輸入日期的Calendar實(shí)例了
Calendar可以做很多事
比如用cal1.after(cal2)或者cal1.before(cal2)或者cal1.equals(cal2)或者cal1.compareTo(cal2)來(lái)比較兩個(gè)日期時(shí)間先后
比如cal.get(Calendar.YEAR)可以得到表示該日期年份的整數(shù)
同理cal.get(Calendar.MONTH)可以得到月份
甚至可以用cal.getTimeInMillis()得到表示該日期的毫秒數(shù)
有了這些方法,簡(jiǎn)單的計(jì)算之后就可以得到需要的相差的信息
如果樓主是來(lái)求現(xiàn)成的源代碼的- - 我沒(méi)有