Calendar:获取年、月、日、时、分、秒

  1. Calendar:获取年、月、日、时、分、秒
    public class CalenderDemo {

    public static void main(String[] args) {
    Calendar calendar = Calendar.getInstance(); // 获取calendr(日历)对象
    int year = calendar.get(Calendar.YEAR); // 年
    int month = calendar.get(Calendar.MONTH)+1; // 月
    int day = calendar.get(Calendar.DAY_OF_MONTH); // 日
    int house = calendar.get(Calendar.HOUR_OF_DAY); // 时
    int minutes = calendar.get(Calendar.MINUTE); // 分
    int seconds = calendar.get(Calendar.SECOND); // 秒
    int milliSeconds = calendar.get(Calendar.MILLISECOND); // 毫秒

     String date = year+"年"+month+"月"+day+"日 "+house+
     		":"+minutes+":"+seconds+":"+milliSeconds;
     System.out.println(date);
    

    }

}

2.date,获取当前系统时间
date.getTime(),获取系统时间毫秒值
package *****;

import java.util.Date;

public class DateDemo {

public static void main(String[] args) {
	Date date = new Date();
	System.out.println("当前的系统时间:"+date);					// 当前系统时间
	System.out.println("当前系统时间毫秒值:"+date.getTime());		// 当前系统时间毫秒值
	
	Date oldDate = new Date(1605601632648l);
	System.out.println("上一次的时间:"+date.getTime());
	System.out.println("当前的系统时间:"+date);
	
	System.out.println(date.after(oldDate));	// 前者时间大于后者为true;等于或小于为false
	System.out.println(date.before(oldDate));	// 前者时间小于后者为true;等于或大于为false
	
	System.out.println("日期比较:"+date.compareTo(oldDate));  // compareTo,前面的大于后面的为1,等于为0,小于为-1
}

}

3.getTimeInstance,获取当前年月
package *****;

import java.text.DateFormat;
import java.util.Date;

public class DateFormatDemo {

public static void main(String[] args) {
	DateFormat df =  DateFormat.getDateInstance(DateFormat.SHORT);		// getDateInstance,当前年月日
	String date = df.format(new Date());
	System.out.println("当前时间:"+date);
	
	df =  DateFormat.getTimeInstance(DateFormat.SHORT);					// getTimeInstance,当前具体时间
	String time = df.format(new Date());
	System.out.println("当前时间:"+time);
	
	df =  DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.MEDIUM);	// getDateTimeInstance,合并写
	String dateTime = df.format(new Date());
	System.out.println("当前时间:"+dateTime);
}

}

  1. SimpleDateFormat:用于自定义日期格式
    public class SimpleDateFormatDemo {
    public static void main(String[] args) {
    String pattern = “yyyy/mm/dd hh:mm:ss”; // yyyy-mm-dd hh:mm:ss
    SimpleDateFormat sdf = new SimpleDateFormat(pattern);
    String dateTime = sdf.format(new Date());
    System.out.println(“格式化后的系统时间:”+dateTime);
    }

  2. 实例,计算年龄
    package *****;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**

  • 工具类 静态工具类
    */
    public class DateUtil {
    private static final String DATE_STYE01 = “yyyy-mm-dd hh:mm:ss”;
    private static final String DATE_STYE02 = “yyyy年mm月dd日 hh:mm:ss”;

    private static SimpleDateFormat dateFomat = null;

    /**

    • 获取指定格式化dateFormat对象
      */
      public static void format(String partten) {
      switch(partten) {
      case DATE_STYE01:
      dateFomat = new SimpleDateFormat(partten);
      break;
      case DATE_STYE02:
      dateFomat = new SimpleDateFormat(partten);
      break;
      }
      }

    /**

    • 将日期对象转换为日期字符串
      */
      public static String dateTostr(Date date,String partten) {
      format(partten);
      return dateFomat.format(date);
      }

    /**

    • 将日期字符串转换为日期对象
      */
      public static Date strToDate(String dateStr,String partten) throws ParseException {
      format(partten);
      return dateFomat.parse(dateStr);
      }

    /**

    • 将日期字符串转换为long型
      */
      public static long strToLong(String dateStr,String partten) throws ParseException {
      Date date = strToDate(dateStr,partten);
      return date.getTime();
      }

    public static int getAge(String birthday,String partten) throws ParseException {
    // 给定的出生年月日
    // 获取当前的系统时间
    // 获取日期对应的毫秒值做减法运算
    long oldAgeL = strToLong(birthday, partten);
    Long newAgeL = new Date().getTime();
    long ageL = oldAgeL - newAgeL;
    double age = (double)ageL/1000/60/60/24/30/12;
    return (int)Math.floor(age);
    }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值