package method.usually;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import org.json.JSONObject;
public class typeMethod {
public static void main(String[] args) {
//比较两个方法
// compareValueOfAndParse();
//
// // valueOf()方法的使用
// useValueIOf();
//
// //toString()方法的调用
// methodToString();
// System.out.println(System.currentTimeMillis()); //结果:1462416312377
// System.out.println(new Date(System.currentTimeMillis())); //结果:Thu May 05 10:45:12 CST 2016
// Date 类型 转换成String 类型 获得短的时间
// dateStortChange(new Date(System.currentTimeMillis())); // 结果:2016-05-05
// //Date 类型转换成 String 类型 获取长的时间
// dateLongChange(new Date(System.currentTimeMillis())); // 结果 :2016-05-05 45:10:12
//
// //将tring 类型转换成 Date 类型
// StringToDate("2016-05-05");
// getYearMonthDayHMS("2015-03-03");
//两个日期相差的天数
// getDiffDay("2015-02-03","2015-02-04");
System.out.println(new Date());
}
/**
* toString()方法的使用
*/
public static void methodToString(){
Integer integer = new Integer(123);
String temp = integer .toString();
System.out.println(temp);
System.out.println(temp.getClass().getName());
}
/**
* valueOf()方法 德大结果验证
*/
public static void useValueIOf(){
String str = "123";
Integer integer = Integer.valueOf(str);
System.out.println("类型为:"+integer.getClass().getName()+"的 "+integer);
int strInt = integer.intValue(); //intValue() 可以将Integer 类型转换成 int
System.out.println(strInt); //这个是 int 类型的123
}
/**
* parseInt/parseFloat() 方法和valueOf() 方法的区别
* 前者是可以转换成简单的类型 如:int float
* 后者是能装换成Integer 或者是 Float 这样的封装类型 即复杂类型
*/
public static void compareValueOfAndParse(){
Float f = new Float("9.5");
String str = "123";
System.out.println(Integer.valueOf(str).getClass().getName());
System.out.println(Integer.parseInt(str));
System.out.println(Float.valueOf(str).getClass().getName());
System.out.println(Float.parseFloat(str));
System.out.println("Value1 = "+ Float.parseFloat(str));
System.out.println("Value = " + f.valueOf(str));
}
/**
* 将Date(Thu May 05 10:43:06 CST 2016) 类型的时间 转换成一个 String(2016-05-05)
* @param date
* @return
*/
public static String dateStortChange(Date date){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = sd.format(date);
System.out.println(dateStr);
return dateStr;
}
/**
* 将Date(Thu May 05 10:43:06 CST 2016) 类型的时间 转换成一个 String(2016-05-05 45:10:12)
* @param date
* @return
*/
public static String dateLongChange(Date date){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sd.format(date);
System.out.println(dateStr);
return dateStr;
}
/**
* 将 String 转换成 Date
* @param str
* @return
*/
public static Date StringToDate(String str){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date date=null ;
try {
date = sd.parse(str);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
public static JSONObject getYearMonthDayHMS(String str){
JSONObject obj = null;
Calendar c = Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.DATE));
return obj;
}
/**计算 两个日期相差多少天
* @param str1
* @param str2
* @return
*/
public static long getDiffDay(String str1, String str2) {
long diff = 0;
try {
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sd.parse(str1);
Date date2 = sd.parse(str2);
diff = date2.getTime()-date1.getTime();
if(diff > 0 ){
int day = (int) (diff / 3600 / 24 / 1000);
System.out.println("相差 :"+day);
}else{
int day = (int) (diff / 3600 / 24 / 1000);
System.out.println("相差 :"+day);
}
} catch (Exception ex) {
ex.printStackTrace();
}
return diff;
}
}