`

TimeDemo

 
阅读更多
package time;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class TimeDemo {

public static void main(String[] args) throws ParseException {
  timeTest();
  
  System.out.println("==============================");
  
  int year = 1987;
  int month = Calendar.JANUARY;
  int day = 20;
  int age = getAge(year, month, day);
  System.out.println("age=" + age);
  
  System.out.println("==============================");
  
  boolean isLeapYear = isLeapYear(2000);
  System.out.println(isLeapYear);
  
  System.out.println("==============================");
  
  
}
private static void timeTest() throws ParseException{
  /**
   * 由输出结果可知:
   *   java.util.Date         包含日期和时间
   *   java.sql.Date          只包含日期
   *      java.sql.Time      只包含时间
   *      java.sql.Timestamp 包含日期和时间
   *      java.util.Calendar 包含该类的所有字段的信息
   *  java.util.Date是java.sql.Date、java.sql.Time和java.sql.Timestamp的父类
   */
  java.util.Date uDate = new java.util.Date();
  java.sql.Date sDate = new java.sql.Date(uDate.getTime());
  java.sql.Timestamp ts = new java.sql.Timestamp(uDate.getTime());
  java.sql.Time time = new java.sql.Time(uDate.getTime());
  java.util.Calendar c = java.util.Calendar.getInstance();
  
  System.out.println("java.util.Date -> " + uDate + "\n"
       + "java.sql.Date -> " + sDate + "\n"
       + "java.sql.Timestamp -> " + ts + "\n"
       + "java.sql.Time -> " + time + "\n"
       + "java.util.Calendar -> " + c);
  
  System.out.println("==============================");
  
  System.out.println(System.currentTimeMillis() + "\n"
       + uDate.getTime() + "\n"
       + sDate.getTime()  + "\n"
       + ts.getTime()  + "\n"
       + time.getTime()  + "\n"
       + c.getTime());
  
  System.out.println("==============================");
  
  Date date = new Date();
  
  String format = new SimpleDateFormat("yyyy/MM/dd").format(date);
  System.out.println(format);
  
  date = new SimpleDateFormat("yyyy/MM/dd").parse(format);
  System.out.println(date);
  
  c.setTime(date);
  System.out.println(c.get(Calendar.DAY_OF_MONTH));
  
  System.out.println("==============================");
  
  //取当月的最后一天
  c = Calendar.getInstance();
  int maxDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);
  format = new SimpleDateFormat("yyyy/MM/" + maxDay).format(c.getTime());
  System.out.println("当月的最后一天 -> " + format);
  
}

private static int getAge(int year, int month, int day){
  Calendar birthDate = new GregorianCalendar(year, month, day);
  Calendar today = Calendar.getInstance();
  int age = today.get(Calendar.YEAR) - birthDate.get(Calendar.YEAR);
  
  //若还没过生日,则age-1
  birthDate.add(Calendar.YEAR, age);
  if(today.before(birthDate)){
   age -= 1;
  }
  return age;
}

private static boolean isLeapYear(int year){
  GregorianCalendar cal = new GregorianCalendar();
  return cal.isLeapYear(year);
}

}
分享到:
评论

相关推荐

    TriBoard_TC275C_TimeDemo_英飞凌mcuTC275_

    这是一个英飞凌TC275的定时器的压缩包源码,本人通过调试,以及测试,该源码可用。

    C# TimeDemo

    编写的透明数字时钟 使用技术:1.窗体透明 2.托盘功能 3.定时器 4.获取屏幕宽高 5.获取系统时间

    timedemo.zip

    C++获取程序运行时间的演示代码。该工程使用visual stdio 2010,实现对4000个元素的随机数组进行排序,分别使用了插入排序、冒泡排序和快速排序的方法,获取各排序过程的运行时间,演示clock()函数的使用方法。...

    dayTimeDemo.java

    最近在做一个以天为列的列表展示,但是通过接口拿过来的数据时间并不是连续规律的,而前端赋值是依据数组下标赋值,所以我后台根据map的key值重复覆盖的方式进行逻辑处理。

    UMark (UT2004 Benchmark)-开源

    UMark是一个图形界面,使游戏玩家可以轻松地在Unreal Tournament 200x上配置和运行基准测试。 它支持“ botmatch”,“ flyby”和“ timedemo”基准测试。 您可以保存/加载结果,也可以在线提交。

Global site tag (gtag.js) - Google Analytics