java Date

来源:互联网 发布:淘宝禁售品有哪些 编辑:程序博客网 时间:2024/05/22 11:44

package dateformat;
    import java.util.*;
    /**
     * <p>Title: 日期转换函数</p>
     * <p>Description: 有以下功能方法可以使用</p>
     * function 1:dateintstr(StrDate) :把字符串转为日期并初始化各部份
     * StrDate:日期格式的字符串.
     * function 2:dateint() : 初始化当前日期的各部份
     * function 3:getnoncetime() : 取当前系统时间并精确到毫秒
     * function 4:getymd() :取当前系统时间的年月日
     * function 5:getTime() :取出当前系统的时分秒
     * function 6:getFormatDate(Format) :格式化当前系统时间
     * Format:支持以下格式:
     * yyyy-MM-dd格式:年月日
     *
     * yyyy/MM/dd格式:年月日
     *
     * yyyyMMdd格式:年月日
     *
     * yyyy.mm.dd格式:年月日
     *
     * yyyy-MM格式:年月
     *
     * yyyy/mm格式:年月
     *
     * yyyymm格式:年月
     *
     * yyyy.mm格式:年月
     *
     * mm-dd格式:月日
     *
     * mm/dd格式:月日
     *
     * mmdd格式:月日
     *
     * mm.dd格式:月日
     *
     * yyyymmddhhmiss格式:当前年月日 时分秒
     *
     * yyyy-mm-dd hh:mi:ss格式:当前年月日 时分秒
     *
     * yyyy/mm/dd hh:mi:ss格式:当前年月日 时分秒
     *
     * yyyy.mm.dd hh:mi:ss格式:当前年月日 时分秒
     *
     * hh:mi:ss格式:当前时分秒
     *
     * yyyy格式:当前年份
     *
     * mm格式:当前月份
     *
     * dd格式:当月的当前的哪一天.
     * function 7:getFormatDateS(Format,StrDate) :格式化当前系统时间
     * Format :支持以下格式:以上;
     * StrDate:日期字符串。
     * <p>Copyright: Copyright (c) 2005</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     * 作者:WRL
     */
    public class mygetdate {
     int yyyy = 0;
     int mm = 0;
     int dd = 0;
     int hh = 0;
     int mi = 0;
     int ss = 0;
     int ms = 0;
     String Smm = "", Sdd = "", Shh = "", Smi = "", Sss = "";
     String sNowTime = "";
     public mygetdate() {
     }
    //*** Date Tdate =new Date("2005/06/7");
    //***--------------------初始化字符串转为日期----------------------
     private void dateintStr(String StrDate) {
     StrDate = StrDate.replace('-','/');
     StrDate = StrDate.replace('.','/');
     Date Tdate = new Date(StrDate);
     Calendar NowTime = Calendar.getInstance();
     NowTime.setTime(Tdate);
     yyyy = NowTime.get(NowTime.YEAR);
     mm = NowTime.get(NowTime.MONTH) + 1;
     dd = NowTime.get(NowTime.DAY_OF_MONTH);
     hh = NowTime.get(NowTime.HOUR_OF_DAY);
     mi = NowTime.get(NowTime.MINUTE);
     ss = NowTime.get(NowTime.SECOND);
     ms = NowTime.get(NowTime.MILLISECOND);
     Smm = (mm < 10) ? "0" + mm : String.valueOf(mm);
     Sdd = (dd < 10) ? "0" + dd : String.valueOf(dd);
     Shh = (hh < 10) ? "0" + hh : String.valueOf(hh);
     Smi = (mi < 10) ? "0" + mi : String.valueOf(mi);
     Sss = (ss < 10) ? "0" + ss : String.valueOf(ss);
     }
    //***--------------------初始化当前时间-----------------------
     private void dateint() {
     Calendar NowTime = Calendar.getInstance();
     yyyy = NowTime.get(NowTime.YEAR);
     mm = NowTime.get(NowTime.MONTH) + 1;
     dd = NowTime.get(NowTime.DAY_OF_MONTH);
     hh = NowTime.get(NowTime.HOUR_OF_DAY);
     mi = NowTime.get(NowTime.MINUTE);
     ss = NowTime.get(NowTime.SECOND);
     ms = NowTime.get(NowTime.MILLISECOND);
     Smm = (mm < 10) ? "0" + mm : String.valueOf(mm);
     Sdd = (dd < 10) ? "0" + dd : String.valueOf(dd);
     Shh = (hh < 10) ? "0" + hh : String.valueOf(hh);
     Smi = (mi < 10) ? "0" + mi : String.valueOf(mi);
     Sss = (ss < 10) ? "0" + ss : String.valueOf(ss);
     }
     //***-----------------取出当前时间---------------------------
     public String getnoncetime() {
     dateint(); //初始化时间控件.
     sNowTime = yyyy + "-" + Smm + "-" + Sdd + " " + Shh + ":" + Smi + ":" +
     Sss +
     "." + ms;
     return sNowTime;
     }
     //***--------------------取出当前时间的年月日------------------
     public String getymd() {
     dateint(); //初始化时间控件.
     sNowTime = yyyy + "-" + Smm + "-" + Sdd;
     return sNowTime;
     }
    //***--------------------取出当前几点几分几秒-------------------
     public String getTime() {
     dateint(); //初始化时间控件.
     sNowTime = Shh + ":" + Smi + ":" + Sss;
     return sNowTime;
     }
     //***按格式返回当前时间的任意部份--------------------------------
     public String getFormatDate(String Format) {
     dateint(); //初始化时间控件.
     Format = Format.trim().toLowerCase();
    //******年月日格式----------------------------------------------
     if (Format.equals("yyyy-mm-dd")) {
     //yyyy-MM-dd格式.
     return yyyy + "-" + Smm + "-" + Sdd;
     }
     if (Format.equals("yyyy/mm/dd")) {
     //yyyy/MM/dd格式.
     return yyyy + "/" + Smm + "/" + Sdd;
     }
     if (Format.equals("yyyymmdd")) {
     //yyyyMMdd格式.
     return yyyy + Smm + Sdd;
     }
     if (Format.equals("yyyy.mm.dd")) {
     //yyyy.mm.dd格式.
     return yyyy + "." + Smm + "." + Sdd;
     }
    //******年月格式----------------------------------------------
     if (Format.equals("yyyy-mm")) {
     //yyyy-MM格式.
     return yyyy + "-" + Smm;
     }
     if (Format.equals("yyyy/mm")) {
     //yyyy/mm格式.
     return yyyy + "/" + Smm;
     }
     if (Format.equals("yyyymm")) {
     //yyyymm格式.
     return yyyy + Smm;
     }
     if (Format.equals("yyyy.mm")) {
     //yyyy.mm格式.
     return yyyy + "." + Smm;
     }
    //******月日格式----------------------------------------------
     if (Format.equals("mm-dd")) {
     //mm-dd格式.
     return Smm + "-" + Sdd;
     }
     if (Format.equals("mm/dd")) {
     //mm/dd格式.
     return Smm + "/" + Sdd;
     }
     if (Format.equals("mmdd")) {
     //mmdd格式.
     return Smm + Sdd;
     }
     if (Format.equals("mm.dd")) {
     //mm.dd格式.
     return Smm + "." + Sdd;
     }
    //******年月日时分秒格式-------------------------------------------
     if (Format.equals("yyyymmddhhmiss")) {
     //yyyymmddhhmiss格式.
     return yyyy + Smm + Sdd + Shh + Smi + Sss;
     }
     if (Format.equals("yyyy-mm-dd hh:mi:ss")) {
     //yyyy-mm-dd hh:mi:ss格式.
     return yyyy + "-" + Smm + "-" + Sdd + " " + Shh + ":" + Smi + ":" + Sss;
     }
     if (Format.equals("yyyy/mm/dd hh:mi:ss")) {
     //yyyy/mm/dd hh:mi:ss格式.
     return yyyy + "/" + Smm + "/" + Sdd + " " + Shh + ":" + Smi + ":" + Sss;
     }
     if (Format.equals("yyyy.mm.dd hh:mi:ss")) {
     //yyyy.mm.dd hh:mi:ss格式.
     return yyyy + "." + Smm + "." + Sdd + " " + Shh + ":" + Smi + ":" + Sss;
     }
    //******时分秒格式----------------------------------------------
     if (Format.equals("hh:mi:ss")) {
     //hh:mi:ss格式.
     return Shh + ":" + Smi + ":" + Sss;
     }
    //*****单独取年或月或日格式----------------------------------------------
     if (Format.equals("yyyy")) {
     //yyyy格式.
     return String.valueOf(yyyy);
     }
     if (Format.equals("mm")) {
     //mm格式.
     return String.valueOf(Smm);
     }
     if (Format.equals("dd")) {
     //dd格式.
     return String.valueOf(Sdd);
     }
     return "你的格式不对!";
     }
    //***将字符串日期按格式返回任意部份--------------------------------
     public String getFormatDateS(String Format, String StrDate) {
     dateintStr(StrDate); //初始化时间控件.
     Format = Format.trim().toLowerCase();
    //******年月日格式----------------------------------------------
     if (Format.equals("yyyy-mm-dd")) {
     //yyyy-MM-dd格式.
     return yyyy + "-" + Smm + "-" + Sdd;
     }
     if (Format.equals("yyyy/mm/dd")) {
     //yyyy/MM/dd格式.
     return yyyy + "/" + Smm + "/" + Sdd;
     }
     if (Format.equals("yyyymmdd")) {
     //yyyyMMdd格式.
     return yyyy + Smm + Sdd;
     }
     if (Format.equals("yyyy.mm.dd")) {
     //yyyy.mm.dd格式.
     return yyyy + "." + Smm + "." + Sdd;
     }
    //******年月格式----------------------------------------------
     if (Format.equals("yyyy-mm")) {
     //yyyy-MM格式.
     return yyyy + "-" + Smm;
     }
     if (Format.equals("yyyy/mm")) {
     //yyyy/mm格式.
     return yyyy + "/" + Smm;
     }
     if (Format.equals("yyyymm")) {
     //yyyymm格式.
     return yyyy + Smm;
     }
     if (Format.equals("yyyy.mm")) {
     //yyyy.mm格式.
     return yyyy + "." + Smm;
     }
    //******月日格式----------------------------------------------
     if (Format.equals("mm-dd")) {
     //mm-dd格式.
     return Smm + "-" + Sdd;
     }
     if (Format.equals("mm/dd")) {
     //mm/dd格式.
     return Smm + "/" + Sdd;
     }
     if (Format.equals("mmdd")) {
     //mmdd格式.
     return Smm + Sdd;
     }
     if (Format.equals("mm.dd")) {
     //mm.dd格式.
     return Smm + "." + Sdd;
     }
    //******年月日时分秒格式-------------------------------------------
     if (Format.equals("yyyymmddhhmiss")) {
     //yyyymmddhhmiss格式.
     return yyyy + Smm + Sdd + Shh + Smi + Sss;
     }
     if (Format.equals("yyyy-mm-dd hh:mi:ss")) {
     //yyyy-mm-dd hh:mi:ss格式.
     return yyyy + "-" + Smm + "-" + Sdd + " " + Shh + ":" + Smi + ":" + Sss;
     }
     if (Format.equals("yyyy/mm/dd hh:mi:ss")) {
     //yyyy/mm/dd hh:mi:ss格式.
     return yyyy + "/" + Smm + "/" + Sdd + " " + Shh + ":" + Smi + ":" + Sss;
     }
     if (Format.equals("yyyy.mm.dd hh:mi:ss")) {
     //yyyy.mm.dd hh:mi:ss格式.
     return yyyy + "." + Smm + "." + Sdd + " " + Shh + ":" + Smi + ":" + Sss;
     }
    //******时分秒格式----------------------------------------------
     if (Format.equals("hh:mi:ss")) {
     //hh:mi:ss格式.
     return Shh + ":" + Smi + ":" + Sss;
     }
    //*****单独取年或月或日格式----------------------------------------------
     if (Format.equals("yyyy")) {
     //yyyy格式.
     return String.valueOf(yyyy);
     }
     if (Format.equals("mm")) {
     //mm格式.
     return String.valueOf(Smm);
     }
     if (Format.equals("dd")) {
     //mm格式.
     return String.valueOf(Sdd);
     }
     return "你的格式不对!";
     }
     public static void main(String[] args) {
     mygetdate mygetdate1 = new mygetdate();
     }
    }
    ================demo=======================
    package dateformat;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.Date;
    import dateformat.mygetdate;
    /**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2005</p>
     * <p>Company: </p>
     * @author not attributable
     * @version 1.0
     */
    public class DateForm
     extends JFrame {
     JPanel contentPane;
     JMenuBar jMenuBar1 = new JMenuBar();
     JMenu jMenuFile = new JMenu();
     JMenuItem jMenuFileExit = new JMenuItem();
     JMenu jMenuHelp = new JMenu();
     JMenuItem jMenuHelpAbout = new JMenuItem();
     JToolBar jToolBar = new JToolBar();
     JButton jButton1 = new JButton();
     JButton jButton2 = new JButton();
     JButton jButton3 = new JButton();
     ImageIcon image1;
     ImageIcon image2;
     ImageIcon image3;
     JFormattedTextField FormDate = new JFormattedTextField();
     JButton jButton4 = new JButton();
     JButton jButton5 = new JButton();
     JTextField Format = new JTextField();
     JTextField Tresult = new JTextField();
     JLabel jLabel1 = new JLabel();
     JLabel jLabel2 = new JLabel();
     JButton jButton6 = new JButton();
     JButton jButton7 = new JButton();
     JButton testbtn = new JButton();
     JTextField JDateStr = new JTextField();
     JLabel jLabel3 = new JLabel();
     //Construct the frame
     public DateForm() {
     enableEvents(AWTEvent.WINDOW_EVENT_MASK);
     try {
     jbInit();
     }
     catch (Exception e) {
     e.printStackTrace();
     }
     }
     //Component initialization
     private void jbInit() throws Exception {
     image1 = new ImageIcon(dateformat.DateForm.class.getResource("openFile.png"));
     image2 = new ImageIcon(dateformat.DateForm.class.getResource(
     "closeFile.png"));
     image3 = new ImageIcon(dateformat.DateForm.class.getResource("help.png"));
     contentPane = (JPanel)this.getContentPane();
     contentPane.setLayout(null);
     this.setSize(new Dimension(400, 300));
     this.setTitle("Frame Title");
     jMenuFile.setText("File");
     jMenuFileExit.setText("Exit");
     jMenuFileExit.addActionListener(new DateForm_jMenuFileExit_ActionAdapter(this));
     jMenuHelp.setText("Help");
     jMenuHelpAbout.setText("About");
     jMenuHelpAbout.addActionListener(new DateForm_jMenuHelpAbout_ActionAdapter(this));
     jButton1.setIcon(image1);
     jButton1.setToolTipText("Open File");
     jButton2.setIcon(image2);
     jButton2.setToolTipText("Close File");
     jButton3.setIcon(image3);
     jButton3.setToolTipText("Help");
     jToolBar.setBounds(new Rectangle(0, 0, 400, 29));
     FormDate.setText("");
     FormDate.setBounds(new Rectangle(11, 50, 117, 24));
     jButton4.setBounds(new Rectangle(23, 201, 83, 26));
     jButton4.setText("取出时间");
     jButton4.addActionListener(new DateForm_jButton4_actionAdapter(this));
     jButton5.setBounds(new Rectangle(121, 202, 93, 24));
     jButton5.setText("取当前时间");
     jButton5.addActionListener(new DateForm_jButton5_actionAdapter(this));
     Format.setText("");
     Format.setBounds(new Rectangle(200, 50, 144, 25));
     Tresult.setText("");
     Tresult.setBounds(new Rectangle(201, 115, 143, 23));
     jLabel1.setText("日期格式");
     jLabel1.setBounds(new Rectangle(140, 53, 60, 25));
     jLabel2.setText("返回结果");
     jLabel2.setBounds(new Rectangle(139, 117, 60, 23));
     jButton6.setBounds(new Rectangle(245, 201, 77, 23));
     jButton6.setText("确定");
     jButton6.addActionListener(new DateForm_jButton6_actionAdapter(this));
     testbtn.setBounds(new Rectangle(29, 163, 108, 21));
     testbtn.setText("字符转为日期");
     testbtn.addActionListener(new DateForm_testbtn_actionAdapter(this));
     testbtn.setBounds(new Rectangle(30, 163, 267, 25));
     testbtn.setText("字符串转日期");
     JDateStr.setText("");
     JDateStr.setBounds(new Rectangle(199, 84, 147, 23));
     jLabel3.setText("要转换的日期");
     jLabel3.setBounds(new Rectangle(119, 83, 78, 24));
     jToolBar.add(jButton1);
     jToolBar.add(jButton2);
     jToolBar.add(jButton3);
     contentPane.add(Tresult, null);
     contentPane.add(jLabel2, null);
     contentPane.add(JDateStr, null);
     contentPane.add(testbtn, null);
     contentPane.add(testbtn, null);
     contentPane.add(Format, null);
     contentPane.add(jLabel1, null);
     contentPane.add(jButton6, null);
     contentPane.add(jButton5, null);
     contentPane.add(jButton4, null);
     contentPane.add(FormDate, null);
     jMenuFile.add(jMenuFileExit);
     jMenuHelp.add(jMenuHelpAbout);
     jMenuBar1.add(jMenuFile);
     jMenuBar1.add(jMenuHelp);
     this.setJMenuBar(jMenuBar1);
     contentPane.add(jToolBar, null);
     contentPane.add(jLabel3, null);
     }
     //File | Exit action performed
     public void jMenuFileExit_actionPerformed(ActionEvent e) {
     System.exit(0);
     }
     //Help | About action performed
     public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
     }
     //Overridden so we can exit when window is closed
     protected void processWindowEvent(WindowEvent e) {
     super.processWindowEvent(e);
     if (e.getID() == WindowEvent.WINDOW_CLOSING) {
     jMenuFileExit_actionPerformed(null);
     }
     }
     void jButton4_actionPerformed(ActionEvent e) {
     Date nowTime = new Date();
     int yyyy = 1900+nowTime.getYear();
     int mm = nowTime.getMonth()+1;
     int dd = nowTime.getDate();
     int hh = nowTime.getHours();
     int mi=nowTime.getMinutes();
     int ss=nowTime.getSeconds();
     String snowTime=yyyy+"-"+mm+"-"+dd+" "+hh+":"+mi+":"+ss;
     FormDate.setText(snowTime);
     }
     void jButton5_actionPerformed(ActionEvent e) {
     mygetdate noncetime=new mygetdate();
     FormDate.setText(noncetime.getnoncetime());
     }
     void jButton6_actionPerformed(ActionEvent e) {
     mygetdate noncetime=new mygetdate();
     String Formatstr=noncetime.getFormatDate(Format.getText());
     Tresult.setText(Formatstr);
     }
     void testbtn_actionPerformed(ActionEvent e) {
     Date Tdate =new Date("2005/06/7 01:02:03");
     testbtn.setText(Tdate.toString()+"ss");
     mygetdate noncetime=new mygetdate();
     String Formatstr=noncetime.getFormatDateS(Format.getText(),JDateStr.getText());
     Tresult.setText(Formatstr);
     }
    }
    class DateForm_jMenuFileExit_ActionAdapter
     implements ActionListener {
     DateForm adaptee;
     DateForm_jMenuFileExit_ActionAdapter(DateForm adaptee) {
     this.adaptee = adaptee;
     }
     public void actionPerformed(ActionEvent e) {
     adaptee.jMenuFileExit_actionPerformed(e);
     }
    }
    class DateForm_jMenuHelpAbout_ActionAdapter
     implements ActionListener {
     DateForm adaptee;
     DateForm_jMenuHelpAbout_ActionAdapter(DateForm adaptee) {
     this.adaptee = adaptee;
     }
     public void actionPerformed(ActionEvent e) {
     adaptee.jMenuHelpAbout_actionPerformed(e);
     }
    }
    class DateForm_jButton4_actionAdapter
     implements java.awt.event.ActionListener {
     DateForm adaptee;
     DateForm_jButton4_actionAdapter(DateForm adaptee) {
     this.adaptee = adaptee;
     }
     public void actionPerformed(ActionEvent e) {
     adaptee.jButton4_actionPerformed(e);
     }
    }
    class DateForm_jButton5_actionAdapter implements java.awt.event.ActionListener {
     DateForm adaptee;
     DateForm_jButton5_actionAdapter(DateForm adaptee) {
     this.adaptee = adaptee;
     }
     public void actionPerformed(ActionEvent e) {
     adaptee.jButton5_actionPerformed(e);
     }
    }
    class DateForm_jButton6_actionAdapter implements java.awt.event.ActionListener {
     DateForm adaptee;
     DateForm_jButton6_actionAdapter(DateForm adaptee) {
     this.adaptee = adaptee;
     }
     public void actionPerformed(ActionEvent e) {
     adaptee.jButton6_actionPerformed(e);
     }
    }
    class DateForm_testbtn_actionAdapter implements java.awt.event.ActionListener {
     DateForm adaptee;
     DateForm_testbtn_actionAdapter(DateForm adaptee) {
     this.adaptee = adaptee;
     }
     public void actionPerformed(ActionEvent e) {
     adaptee.testbtn_actionPerformed(e);
     }
    }