工具类:
package cn.itcast_04;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 这是日期和字符串相互转换的工具类
*
* @author 风清扬
*/
public class DateUtil {
private DateUtil() {
}
/**
* 这个方法的作用就是把日期转成一个字符串
*
* @param d
* 被转换的日期对象
* @param format
* 传递过来的要被转换的格式
* @return 格式化后的字符串
*/
public static String dateToString(Date d, String format) {
// SimpleDateFormat sdf = new SimpleDateFormat(format);
// return sdf.format(d);
return new SimpleDateFormat(format).format(d);
}
/**
* 这个方法的作用就是把一个字符串解析成一个日期对象
*
* @param s
* 被解析的字符串
* @param format
* 传递过来的要被转换的格式
* @return 解析后的日期对象
* @throws ParseException
*/
public static Date stringToDate(String s, String format)
throws ParseException {
return new SimpleDateFormat(format).parse(s);
}
}
测试类:
package cn.itcast_04;
import java.text.ParseException;
import java.util.Date;
/*
* 工具类的测试
*/
public class DateUtilDemo {
public static void main(String[] args) throws ParseException {
Date d = new Date();
// yyyy-MM-dd HH:mm:ss
String s = DateUtil.dateToString(d, "yyyy年MM月dd日 HH:mm:ss");
System.out.println(s);
String s2 = DateUtil.dateToString(d, "yyyy年MM月dd日");
System.out.println(s2);
String s3 = DateUtil.dateToString(d, "HH:mm:ss");
System.out.println(s3);
String str = "2014-10-14";
Date dd = DateUtil.stringToDate(str, "yyyy-MM-dd");
System.out.println(dd);
}
}
获取你来到这个世界多少天的案例
package day14;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
/*
* /*
* 算一下你来到这个世界多少天?
*
* 分析:
* A:键盘录入你的出生的年月日
* B:把该字符串转换为一个日期
* C:通过该日期得到一个毫秒值
* D:获取当前时间的毫秒值
* E:用D-C得到一个毫秒值
* F:把E的毫秒值转换为年
* /1000/60/60/24
* */
public class Lx3 {
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
//提示用户输入自己的出生年月日
System.out.println("请你输入你的出生年月日");
//规定键盘录入数据的类型
String name = sc.nextLine();
//把该字符串转化为一个日期
//给出转化的格式----SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
//调用方法进行转化
Date A = sdf.parse(name);
//输出查看
System.out.println(A);
//通过日期得到一个毫秒值
//给定日期--来获得这个日期的毫秒值是多少
long myTime = A.getTime();
//获取当前计算机时间的毫秒值
// 方式一: public static long currentTimeMillis()--返回以毫秒为单位的当前计算机的时间--以毫秒形式显示。
方式二: 创建对象
// Date d = new Date();
// // 获取时间
// long time = d.getTime();
// System.out.println(time);
long time = System.currentTimeMillis();
//用D-c来获取一个毫秒值
long time1 = (time-myTime);
//将毫秒值转化为年
long day = (time1/1000/60/60/24);
System.out.println("你来到世界已经"+day+"天了");
}
}