时间、日期和数字
Date类
/** 时间,日期和数字* Date类* Date类存在于java.util包中,Date类的无参构造方法创建的对象可以获取本地当前的时间。* Date对象表示时间的一般顺序为:星期、月、日、小时、分、秒、年* 计算机时间的公元设置在1970年1月1日0时(格林威治时间)* 格式化时间必须用到java.text.SimpleDateFormat包* 格式化格式:年份yyyy或者yy 月份M或MM如果想用汉语输出月份,则至少要三个MMM d或者dd输出日 H或HH输出小时 m或mm输出分 s或ss输出秒* E表示用字符串输出星期*/import java.util.*;
import java.text.SimpleDateFormat;//如果要格式化日期,则必须调用public class DateClass_Date {public static void main(String[] args){Date nowTime=new Date();//无参构造函数获取当前时间,输出格式为Sat Jun 09 15:22:13 CST 2012System.out.println(nowTime);SimpleDateFormat matter1=new SimpleDateFormat("'当前时间为':yyyy年MM月dd日HH时mm分ss秒");System.out.println(matter1.format(nowTime));//time:2012年06月09日15时24分32秒SimpleDateFormat matter2=new SimpleDateFormat("北京时间:yyyy年MM月dd日HH时mm分ss秒");System.out.println(matter2.format(nowTime));Date date1=new Date(1000);Date date2=new Date(-1000);System.out.println(matter1.format(date1));System.out.println(matter1.format(date2));//如果时间早于1970年1月1日0时,则可以通过这种方法获取以前的时间}
}
Calendar类
/** new和getInstance()的区别,new一定要生成一个新对象,分配内存。getInstance则不一定需要再次创建,他可以吧一个已经存在引用* 让你使用,性能上由于new* new创建后只能当次使用,而getinstance则可以跨栈区使用,或者远程跨区域使用,getInstance通常是创建static静态实例的方法* Calendar在java.util包中* */
import java.util.*;public class DateClass_Calendar {public static void main(String[] args){Calendar calendar=Calendar.getInstance();//用getInstance()来初始化对象,一般为静态对象calendar.setTime(new Date());//获取当前时间的日历String year=String.valueOf(calendar.get(Calendar.YEAR));String month=String.valueOf(calendar.get(Calendar.MONTH)+1);//月份需加1String day=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));String week=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1);//星期需减1int hour=calendar.get(Calendar.HOUR_OF_DAY);int minute=calendar.get(Calendar.MINUTE);int second=calendar.get(Calendar.SECOND);System.out.println("现在的时间是:");System.out.println(""+year+"年"+month+"月"+day+"日"+"星期"+week);System.out.println(""+hour+"时"+minute+"分"+second+"秒");calendar.set(2012,9,0);//将日历翻到2006年9月11long time20060911=calendar.getTimeInMillis();//将20060911表示为毫秒calendar.set(2012,6,8);//将日历翻到19625月29long time19620529=calendar.getTimeInMillis();long days=(time20060911-time19620529)/(1000*60*60*24);System.out.println("相隔多少天:"+days);}
}
根据Calendar类和date类做的一个计算你从出生到现在的天数的小程序
/** @version 出生天数查看器 v1.0* @author sevend* 利用Calendar类做的一个计算从出生到现在多少天的小工具*/import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;public class DateClass_CalendarGame extends JFrame implements ActionListener{JLabel lblNote;JLabel lblYear;JLabel lblMonth;JLabel lblDay;JLabel lblResult;JLabel lblNowTime;JTextField txtYear;JTextField txtMonth;JTextField txtDay;JButton jbtnSubmit;Calendar calendar=Calendar.getInstance();int nowYear;int nowMonth;int nowDay;int birthYear;int birthMonth;int birthDay;long nowTime=0;long birthTime=0;long result;DateClass_CalendarGame(){this.setTitle("出生天数查看器");lblNote=new JLabel("请输入您的出生日期:");lblYear=new JLabel("年份(xxxx):");lblMonth=new JLabel("月份(xx):");lblDay=new JLabel("天(xx):");lblResult=new JLabel();lblNowTime=new JLabel();txtYear=new JTextField(10);txtMonth=new JTextField(10);txtDay=new JTextField(10);jbtnSubmit=new JButton("查看");jbtnSubmit.addActionListener(this);Container c=getContentPane();c.setLayout(null);c.add(lblDay);c.add(lblMonth);c.add(lblYear);c.add(lblNote);c.add(lblResult);c.add(lblNowTime);c.add(txtDay);c.add(txtMonth);c.add(txtYear);c.add(jbtnSubmit);lblNote.setBounds(40,20,200,40);lblYear.setBounds(40,70,200,40);txtYear.setBounds(250,70,60,40);lblMonth.setBounds(40,110,200,40);txtMonth.setBounds(250,110,60,40);lblDay.setBounds(40,150,200,40);txtDay.setBounds(250,150,60,40);lblResult.setBounds(40,200,200,40);jbtnSubmit.setBounds(40,250,100,40);lblNowTime.setBounds(40,300,250,40);this.setBounds(200,60,500,400);this.setVisible(true);this.setResizable(false);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent ew){dispose();}});this.calendar.setTime(new Date());this.nowYear=calendar.get(Calendar.YEAR);this.nowMonth=calendar.get(Calendar.MONTH)+1;this.nowDay=calendar.get(Calendar.DAY_OF_MONTH);calendar.set(nowYear,nowMonth,nowDay);nowTime=calendar.getTimeInMillis();}public void actionPerformed(ActionEvent e){if(e.getSource()==jbtnSubmit){if(txtYear.getText().trim().length()!=0&&txtMonth.getText().trim().length()!=0&&txtDay.getText().trim().length()!=0){this.calendar.set(Integer.parseInt(txtYear.getText()), Integer.parseInt(txtMonth.getText()),Integer.parseInt(txtDay.getText()));this.birthTime=calendar.getTimeInMillis();this.result=(nowTime-birthTime)/(1000*60*60*24);lblNowTime.setText("当前:"+this.nowYear+this.nowMonth+this.nowDay);lblResult.setText("您从出生到现在已经有"+this.result+"天了");}else{lblNowTime.setText("请输入完整信息!");}}}public static void main(String[] args){new DateClass_CalendarGame();}
}
仿作的一个在网页上经常看到的月历和当前时间的小功能
/** 当前时间和本月月历*/import java.util.*;
import java.text.SimpleDateFormat;public class DateClass_CalendarNowTime {public static void main(String[] args){System.out.println("当前时间为:");Date date=new Date();SimpleDateFormat patter=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");System.out.println(patter.format(date));Calendar calendar=Calendar.getInstance();int nowMonth=calendar.get(Calendar.MONTH);int nowYear=calendar.get(Calendar.YEAR);calendar.set(nowYear, nowMonth,1);System.out.println("本月月历");System.out.println(" 日 一 二 三 四 五 六");int week=calendar.get(Calendar.DAY_OF_WEEK)-1;String[] a=new String[week+31];for(int i=0;i
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
