[转]关于日期的换算方法

来源:互联网 发布:政治体制改革知乎 编辑:程序博客网 时间:2024/05/16 11:24

import java.lang.*;
import java.util.*;
import java.io.*;
import java.io.InputStream;
import java.util.Date;
import java.awt.*;
import java.text.*;
import java.awt.event.*;
import javax.swing.*;

public class TestTime
{
   byte bByte[]=new byte[5];


  public TestTime()
  {
    bByte[0]='t';
    TimeTest();
    Chinese();

    HexTest(bByte,1);

   }

   public void TimeTest()
   {
      String lastdate="";
      /*
       Symbol   Meaning                 Presentation        Example
 ------   -------                 ------------        -------
 G        era designator          (Text)              AD
 y        year                    (Number)            1996
 M        month in year           (Text & Number)     July & 07
 d        day in month            (Number)            10
 h        hour in am/pm (1~12)    (Number)            12
 H        hour in day (0~23)      (Number)            0
 m        minute in hour          (Number)            30
 s        second in minute        (Number)            55
 S        millisecond             (Number)            978
 E        day in week             (Text)              Tuesday
 D        day in year             (Number)            189
 F        day of week in month    (Number)            2 (2nd Wed in July)
 w        week in year            (Number)            27
 W        week in month           (Number)            2
 a        am/pm marker            (Text)              PM
 k        hour in day (1~24)      (Number)            24
 K        hour in am/pm (0~11)    (Number)            0
 z        time zone               (Text)              Pacific Standard Time
 '        escape for text         (Delimiter)
 ''       single quote            (Literal)           '


 Examples Using the US Locale:

 Format Pattern                         Result
 --------------                         -------
 "yyyy.MM.dd G 'at' hh:mm:ss z"    ->>  1996.07.10 AD at 15:08:56 PDT
 "EEE, MMM d, ''yy"                ->>  Wed, July 10, '96
 "h:mm a"                          ->>  12:08 PM
 "hh 'o''clock' a, zzzz"           ->>  12 o'clock PM, Pacific Daylight Time
 "K:mm a, z"                       ->>  0:00 PM, PST
 "yyyyy.MMMMM.dd GGG hh:mm aaa"    ->>  1996.July.10 AD 12:08 PM

Code Sample:

 SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, "PST");
 pdt.setStartRule(DateFields.APRIL, 1, DateFields.SUNDAY, 2*60*60*1000);
 pdt.setEndRule(DateFields.OCTOBER, -1, DateFields.SUNDAY, 2*60*60*1000);
 // Format the current time.
 SimpleDateFormat formatter
     = new SimpleDateFormat ("yyyy.mm.dd e 'at' hh:mm:ss a zzz");
 Date currentTime_1 = new Date();
 String dateString = formatter.format(currentTime_1);
 // Parse the previous string back into a Date.
 ParsePosition pos = new ParsePosition(0);
 Date currentTime_2 = formatter.parse(dateString, pos);


      */
     //mmm代表月份--大写M代表用汉字表示,小写代表用数字表示,3个m代表月份用3位数来表示.
      SimpleDateFormat  formatter = new SimpleDateFormat("EEE mm dd hh:mm:ss yyyy", Locale.getDefault());
      Date currentDate = new Date();
      lastdate = formatter.format(currentDate);
      System.out.println("SimpleDateFormat:"+lastdate);


      SimpleDateFormat m_oFormatTimeOnly=new SimpleDateFormat("hh:mm:ss", Locale.getDefault());
      String   m_strOnlyTime = m_oFormatTimeOnly.format(currentDate);
      System.out.println("OnlyTime:"+m_strOnlyTime);

      SimpleDateFormat m_oFormatOnlyYear=new SimpleDateFormat("yyyy", Locale.getDefault());
      String   m_strOnlyYear = m_oFormatOnlyYear.format(currentDate);
      System.out.println("OnlyYear:"+m_strOnlyYear);

      SimpleDateFormat m_oFormatYMD=new SimpleDateFormat("yyyy.MM.dd", Locale.getDefault());
      String   m_strOnlyYMD = m_oFormatYMD.format(currentDate);
      System.out.println("OnlyYear:"+m_strOnlyYMD);
   }

   private void Chinese()
   {
       char m_cChar='中';
  byte m_Byte[]=new byte[20];
  String str="q中中";
  m_Byte=str.getBytes();
  System.out.println("中文:"+m_Byte.length);
  if(m_Byte[1]<0)
    System.out.println("m_Byte[1]<0");
  if(m_Byte[0]<0)
    System.out.println("m_Byte[0]<0");

    m_Byte=null;

    String str2="aaaa";
  m_Byte=str2.getBytes();
  System.out.println(m_Byte.length);
  if(m_Byte[1]>0)
    System.out.println("m_Byte[1]>0");
  if(m_Byte[0]>0)
    System.out.println("m_Byte[0]>0");
   }

   private void HexTest(byte abyte[],int i)
   {
       char hex_char[]={'0','1','2','3','4','5','6','7','8','9','a'
                         ,'b','c','d','e','f'};

       String s=new String();
       for(int j=0;j<4;j++)
       {
    s=s+hex_char[abyte[i+j]>>4&0xf];
     System.out.println(j+"s1");
    s=s+hex_char[abyte[i+j]&0xf];
    System.out.println(j+"s2");
       }
   }

  public static void main(String args[])
  {
        TestTime m_oTest5=new TestTime();
    System.out.println("current Root:"+new File(".").getAbsolutePath().substring(0,2));

    File[] fs = File.listRoots();
        System.out.println("size:"+fs.length);
        for(int i=0;i<fs.length;i++)
           System.out.println(fs[i].getPath());

  System.out.println("Time:"+System.currentTimeMillis());

 

    AWTEvent event=null;
   KeyStroke ks = KeyStroke.getKeyStrokeForEvent((KeyEvent)event);
         System.out.println("Enter:"+ks);

  }


  }

原创粉丝点击