`
coolboyysy
  • 浏览: 10008 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

老婆写的计算怀孕周的程序

阅读更多
import java.awt.Dimension;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;


public class BabyTest {

/**
* @param args
*/
public static void main(String[] args) {
/*Calendar startday=Calendar.getInstance();
startday.set(2013, 4, 2);
Calendar curentday=Calendar.getInstance();
curentday.set(2013, 4, 9);
long disTime=curentday.getTimeInMillis()-startday.getTimeInMillis();
long week=disTime/1000/60/60/24/7;
long day=disTime/1000/60/60/24%7;
SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd");
System.out.println(f.format(startday.getTime()));
System.out.println(f.format(curentday.getTime()));
System.out.println(week);
System.out.println(day);*/
new CountFrame();
}

}

class CountFrame extends JFrame {
/**
*
*/
private static final long serialVersionUID = 6620283754770070422L;
private SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
public CountFrame() throws HeadlessException {
super();
this.setSize(new Dimension(400,300) );
this.setTitle("孕期计算");
this.draw();
//this.pack();
this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}

public void draw() {
this.getContentPane().setLayout(null);
JLabel label1=new JLabel("开始日期:");
label1.setBounds(30, 30, 100, 20);
this.getContentPane().add(label1);

final JTextField date1=new JTextField("2013-05-02");
date1.setBounds(110, 30, 100, 20);
this.getContentPane().add(date1);

JLabel label2=new JLabel("结束日期:");
label2.setBounds(30, 80, 100, 20);
this.getContentPane().add(label2);

Calendar curentday=Calendar.getInstance();
final JTextField date2=new JTextField(format.format(curentday.getTime()));
date2.setBounds(110, 80, 100, 20);
this.getContentPane().add(date2);

JButton btn=new JButton("计算");
btn.setBounds(240, 80, 60, 20);
this.getContentPane().add(btn);

final JTextArea result=new JTextArea();
result.setBounds(30, 130, 300, 100);
this.getContentPane().add(result);

btn.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent event) {
String startdateStr=date1.getText();
String enddateStr=date2.getText();
try {
Calendar startdate=Calendar.getInstance();
startdate.setTime(format.parse(startdateStr));

Calendar enddate=Calendar.getInstance();
enddate.setTime(format.parse(enddateStr));

long disTime=enddate.getTimeInMillis()-startdate.getTimeInMillis();
int distanceDays=(int)(disTime/1000/60/60/24);
int week=distanceDays/7;//间隔几周
int weekDay=distanceDays%7;//间隔整周余下的天数

int dayOfMonth1=startdate.get(Calendar.DAY_OF_MONTH);
int dayOfMonth2=enddate.get(Calendar.DAY_OF_MONTH);
int monthOfYear1=startdate.get(Calendar.MONTH);
int monthOfYear2=enddate.get(Calendar.MONTH);
int month=0;//间隔几个月
int monthDay=0;//间隔整月余下的天数
if(dayOfMonth2>=dayOfMonth1){
if(monthOfYear2>=monthOfYear1){
month=monthOfYear2-monthOfYear1;
}else{
month=monthOfYear2+12-monthOfYear1;
}
monthDay=dayOfMonth2-dayOfMonth1;
}else{
if(monthOfYear2>=monthOfYear1){
month=monthOfYear2-monthOfYear1-1;
}else{
month=monthOfYear2+12-monthOfYear1-1;
}
Calendar tempDate=(Calendar)enddate.clone();
tempDate.set(Calendar.MONTH, monthOfYear2-1);
tempDate.set(Calendar.DAY_OF_MONTH, dayOfMonth1);
long temDisTime=enddate.getTimeInMillis()-tempDate.getTimeInMillis();
monthDay=(int)(temDisTime/1000/60/60/24);
}

result.setText("孕期为:"+week+"周"+weekDay+"天\n                "
+month+"月"+monthDay+"天");
} catch (ParseException e) {
e.printStackTrace();
}
}
});
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics