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();
}
}
});
}
}
分享到:
相关推荐
用VB自己编写的预产期计算软件,可以计算出预产期时间以及剩余天数,最小化后,可以缩小在系统托盘,后台运行,备注:最小化点击“怀孕”,关闭程序点击“天”,关闭程序请在开启程序1分钟后。
怀孕天数周数计算器是一个能够自动计算和显示怀孕天数、预产期和剩余天数的小工具。 为老婆制作的,vb6编制的。 对前一版本稍有改动。
怀孕母猪免疫程序流程.doc
Knn,贝叶斯怀孕预测数据及代码,详细备注各个函数的功能及作用.适合初学者,及回顾机器学习算法11111111111111111111111111111111111111111111
在怀孕20周的时候一定要及时护理乳房.docx
PregnancyDaysCounter 怀孕天数计数器源代码:计算怀孕天数和计算预产期。
PregnancyDaysCounter 怀孕天数计数器源代码:计算怀孕天数和计算预产期。
生育商计算器 一个计算器,可让您根据您的AMH,AFC和BMI值计算出怀孕的机会。
2. 设计计算Y=1+2+3+....,直到累加和刚好大于10000的程序并且调试完成。 3. 对给定数组中的所有元素,按从大到小的顺序排序,并且加以验证。 实验三 系统功能调用实验 1.编制一个具有屏幕提示和键盘输入的程序,...
计算两个日期之间的间隔,特别适计算怀孕周数、小孩有多少天等。 输入开始日期、结束日期,就会显示两个日期之间相差的年、月、日、周、时、分,比如2012-1-26与2012-3-15之间相隔0年,2个月,50天等;同时会显示...
还可以计算检查时间\宝宝大小\第几个月和周
孕周计算器,输入末次月经时间计算出怀孕第几周第几天,及预产期!
怀孕报告,录取通知书等等很多种模板就不一一多说了 而且每一个模板可以制作的地方都精致到每一个显眼地方 该小程序的安装方法挺简单的,无需服务器和域名 我们只需要下载源码以后解压源码然后用微信开发者工具打开...
简介:就成年和已婚妇女而言,当他们遇到“计划外怀孕”时,他们总是感到惊讶和震撼。 此外,计划外怀孕也影响家庭系统中的其他成员。 因此,当已婚妇女不得不面对“出生”或“堕胎”的选择时,她们会在对医生,思想...
怀孕测算小插件for dvbbs7.0 sp2
禁止以任何形式歧视女工,特别是怀孕女工。 4.4 招工时不得向工人收取任何形式的押金或抵押物,也不得通过招工代理机构收取。 4.5 招工时必须同时建立并保持完整的人事档案,包括入职日期、出生日期、教育经历、...
自己写的一个不上程序,很简单。网上的预产期计算器,有能用的,有不能用的。能用的,算出来的日期又不相同。所以自己动手写了一个。 特意加了,下次产检日期计算。
植被净初级生产力(NPP)软件模块 V1.0 是基于改进的 CASA 模型(详见后面的参考文献)在 IDL 软件平台下开发而成。目前,该模型可以在 ENVI4.4及以上版本运行,全中文界面,方便快捷的菜单操作,支持大型遥感数据。
基于C# 编写的倍福plc 应用上位机源程序,功能齐全完整 密码0712
**/CX-19 20 访客健康安全程序 **/CX-20 21 怀孕女工与新生妈妈安全卫生风险鉴别评估程序 **/CX-21 BSCI程序文件全文共43页,当前为第2页。 BSCI程序文件全文共43页,当前为第2页。 员工工伤处理程序 Logo **/CX-01 ...