import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTimeUtils {
/**
* 时间处理
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
Calendar cdTime = Calendar.getInstance();
Date newTime = cdTime.getTime(); // 读取时间
System.out.println("格式化前:" + newTime.toString()); // 格式化前的时间表示
SimpleDateFormat sdf = new SimpleDateFormat("ZZ时区 yyyy年MM月dd日 E HH时mm分ss秒SS毫秒"); // 时间格式化,相关的格式 SimpleDateFormat 类 API 里有详细的介绍
System.out.println("格式化后:" + sdf.format(newTime)); // 格式化后的时间表示
System.out.println("直接获取并格式化:" + sdf.format(new Date())); // 直接获取并格式化
/*
* 通过 Calendar 类的字段获取精确时间(年月日时分秒),API 里有详细介绍
*/
String[][] lgTime = {{"年:", "2008"}, {"月:", "04"}, {"日:", "29"}, {"时:", "14"}, {"分:", "44"}, {"秒:", "00"}}; // 定义并初始化数组
lgTime[0][1] = Integer.valueOf(cdTime.get(Calendar.YEAR)).toString(); // 年,把 int 值转换上 String 值
lgTime[1][1] = Integer.valueOf(cdTime.get(Calendar.MONTH) + 1).toString(); // 月,因为 java 获取时间时的月的数值是从零开始,所以加一
lgTime[2][1] = Integer.valueOf(cdTime.get(Calendar.DATE)).toString(); // 日
lgTime[3][1] = Integer.valueOf(cdTime.get(Calendar.HOUR_OF_DAY)).toString(); // 时,24 小时制
lgTime[4][1] = Integer.valueOf(cdTime.get(Calendar.MINUTE)).toString(); // 分
lgTime[5][1] = Integer.valueOf(cdTime.get(Calendar.SECOND)).toString(); // 秒
for(int i=0;i<lgTime.length;i++){
System.out.println(lgTime[i][0] + lgTime[i][1]);
}
// 分隔线
System.err.println("*********************** 分隔线 ************************");
/*
* 字符串转时间
*/
DateFormat df = DateFormat.getDateInstance();
String newDate = "2008-04-29";
System.out.println("转换前:" + newDate); // 转换前
newTime = df.parse(newDate);
System.out.println("转换后未格式化:" + newTime.toString()); // 转换后未格式化
System.out.println("转换并格式化后:" + sdf.format(newTime)); // 转换并格式化后
}
}
显示结果:
格式化前:Tue Apr 29 17:30:29 CST 2008
格式化后:+0800时区 2008年04月29日 星期二 17时30分29秒578毫秒
直接获取并格式化:+0800时区 2008年04月29日 星期二 17时30分29秒625毫秒
年:2008
月:4
日:29
时:17
分:30
秒:29
*********************** 分隔线 ************************
转换前:2008-04-29
转换后未格式化:Tue Apr 29 00:00:00 CST 2008
转换并格式化后:+0800时区 2008年04月29日 星期二 00时00分00秒00毫秒
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTimeUtils {
/**
* 时间处理
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
Calendar cdTime = Calendar.getInstance();
Date newTime = cdTime.getTime(); // 读取时间
System.out.println("格式化前:" + newTime.toString()); // 格式化前的时间表示
SimpleDateFormat sdf = new SimpleDateFormat("ZZ时区 yyyy年MM月dd日 E HH时mm分ss秒SS毫秒"); // 时间格式化,相关的格式 SimpleDateFormat 类 API 里有详细的介绍
System.out.println("格式化后:" + sdf.format(newTime)); // 格式化后的时间表示
System.out.println("直接获取并格式化:" + sdf.format(new Date())); // 直接获取并格式化
/*
* 通过 Calendar 类的字段获取精确时间(年月日时分秒),API 里有详细介绍
*/
String[][] lgTime = {{"年:", "2008"}, {"月:", "04"}, {"日:", "29"}, {"时:", "14"}, {"分:", "44"}, {"秒:", "00"}}; // 定义并初始化数组
lgTime[0][1] = Integer.valueOf(cdTime.get(Calendar.YEAR)).toString(); // 年,把 int 值转换上 String 值
lgTime[1][1] = Integer.valueOf(cdTime.get(Calendar.MONTH) + 1).toString(); // 月,因为 java 获取时间时的月的数值是从零开始,所以加一
lgTime[2][1] = Integer.valueOf(cdTime.get(Calendar.DATE)).toString(); // 日
lgTime[3][1] = Integer.valueOf(cdTime.get(Calendar.HOUR_OF_DAY)).toString(); // 时,24 小时制
lgTime[4][1] = Integer.valueOf(cdTime.get(Calendar.MINUTE)).toString(); // 分
lgTime[5][1] = Integer.valueOf(cdTime.get(Calendar.SECOND)).toString(); // 秒
for(int i=0;i<lgTime.length;i++){
System.out.println(lgTime[i][0] + lgTime[i][1]);
}
// 分隔线
System.err.println("*********************** 分隔线 ************************");
/*
* 字符串转时间
*/
DateFormat df = DateFormat.getDateInstance();
String newDate = "2008-04-29";
System.out.println("转换前:" + newDate); // 转换前
newTime = df.parse(newDate);
System.out.println("转换后未格式化:" + newTime.toString()); // 转换后未格式化
System.out.println("转换并格式化后:" + sdf.format(newTime)); // 转换并格式化后
}
}
显示结果:
格式化前:Tue Apr 29 17:30:29 CST 2008
格式化后:+0800时区 2008年04月29日 星期二 17时30分29秒578毫秒
直接获取并格式化:+0800时区 2008年04月29日 星期二 17时30分29秒625毫秒
年:2008
月:4
日:29
时:17
分:30
秒:29
*********************** 分隔线 ************************
转换前:2008-04-29
转换后未格式化:Tue Apr 29 00:00:00 CST 2008
转换并格式化后:+0800时区 2008年04月29日 星期二 00时00分00秒00毫秒