实例1:
12-NOV-2011
1 SimpleDateFormat担当重任,怎样格式化都行
import java.util.Date;
import java.text.SimpleDateFormat;
public class Demo
{
public static void main(String[] args)
{
Date now=new Date();
SimpleDateFormat f=newSimpleDateFormat("今天是"+"yyyy年MM月dd日 E kk点mm分");
System.out.println(f.format(now));
f=new SimpleDateFormat("a hh点mm分ss秒");
System.out.println(f.format(now));
}
}
2 从字符串到日期类型的转换:
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.text.*;
publicclass Demo {
public static void main(String[] args)
{
String strDate="2005年04月22日"; //注意:SimpleDateFormat构造函数的样式与strDate的样式必须相符
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日"); //必须捕获异常
try
{
Date date=simpleDateFormat.parse(strDate);
System.out.println(date);
}
catch(ParseException px)
{
px.printStackTrace();
}
}
}
实例1:
12-NOV-2011
转换日期成日期
String strDate="12-NOV-2011";
SimpleDateFormat dp = new SimpleDateFormat("dd-MMM-yyyy",Locale.US);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd",);
Date date=dp.parse(strDate);
String str=df.format(date); // 结果2011-11-12
3 将毫秒数换转成日期类型
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.text.*; public class Demo
{
public static void main(String[] args)
{
long now=System.currentTimeMillis();
System.out.println("毫秒数:"+now);
Date dNow=new Date(now);
System.out.println("日期类型:"+dNow); } }
这3例源自http://blog.csdn.net/zhoujian2003/archive/2005/04/22/358363.aspx
4 获取系统时期和时间,转换成SQL格式后更新到数据库
(http://blog.csdn.net/netrope/archive/2005/11/19/532729.aspx)
java.util.Date d=new java.util.Date(); //获取当前系统的时间
//格式化日期
java.text.SimpleDateFormat s= new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = s.format(d); //转为字符串
使用RS更新数据库,仍然要用rs.updateString,而不是rs.updateDade。
rs.updateString("regtime",dateStr); //regtime字段为datetime类型的
下面两例源自 http://blog.csdn.net/kingter520/archive/2004/10/27/155435.aspx
5 按本地时区输出当前日期
Date myDate = new Date();
System.out.println(myDate.toLocaleString()); 输出结果为: 2003-5-30
6 如何格式化小数
DecimalFormat df = new DecimalFormat(",###.00");
double aNumber = 33665448856.6568975;
String result = df.format(aNumber);
Sytem. out.println(result);
输出结果为: 33,665,448,856.66
其他:获取毫秒时间 System.currentTimeMillis();
7 在数据库里的日期只以年-月-日的方式输出
(http://blog.csdn.net/zzsxvzzsxv/archive/2007/08/27/1761004.aspx)
定义日期格式:SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd);
sql语句为:String sqlStr = "select bookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'";
输出:
System.out.println(df.format(rs.getDate("bookDate")));
8 经典例子(http://blog.csdn.net/donkeyzheng/archive/2005/12/30/566470.aspx)
Date date = from.getAfmdate();
if (null != date)
{
SimpleDateFormat yearFormat = new SimpleDateFormat("yyyy");
SimpleDateFormat monthFormat = new SimpleDateFormat("MM");
SimpleDateFormat dayFormat = new SimpleDateFormat("dd");
to.setAfmYear(yearFormat.format(date));
to.setAfmMonth(monthFormat.format(date));
to.setAfmDay(dayFormat.format(date));
}
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
appPo.setAfmdate(format.parse(appForm.getAfmYear() + "-" + appForm.getAfmMonth() + "-" + appForm.getAfmDay()));
参考:http://blog.csdn.net/lord_is_layuping/article/details/2607404
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class DateUtils {
// 日历属性
private static Calendar c=Calendar.getInstance();
// 简单日期格式属性
private static SimpleDateFormat sdf = new SimpleDateFormat();
/**
* 得到当前日期的简单格式:2005-11-01
* @return 字符串日期格式
*/
public static String getSimpleFormatToday(){
sdf.applyPattern("yyyy-MM-dd");
String date=sdf.format(c.getTime());
return date;
}
/**
* 得到当前日期的简单格式:2005-11-01
* @return 字符串日期格式
*/
public static String getSimpleFormatYearMonth(){
sdf.applyPattern("yyyy-MM");
String date=sdf.format(c.getTime());
return date;
}
/**
* 得到当前年的简单格式:2005
* @return 字符串日期格式
*/
public static String getSimpleFormatYear(){
sdf.applyPattern("yyyy");
String strYear = sdf.format(c.getTime());
return strYear;
}
/**
* 得到当前月的简单格式:11
* @return 字符串日期格式
*/
public static String getSimpleFormatMonth(){
sdf.applyPattern("M");
String strMonth = sdf.format(c.getTime());
return strMonth;
}
/**
* 得到当前日的简单格式:7
* @return 字符串日期格式
*/
public static String getSimpleFormatDay(){
sdf.applyPattern("d");
String strDay = sdf.format(c.getTime());
return strDay;
}
/**
* 得到当前日期之前(后)日期的简单格式
* @param amount 相隔的单位:年
* @return 以年为单位的相隔日期
*/
public static String SimpleFormatDateComputeY(int amount)
{
Calendar ctemp=c;
ctemp.add(Calendar.YEAR,amount);
String date=sdf.format(ctemp.getTime());
ctemp.add(Calendar.YEAR,-amount);
return date;
}
/**
* 得到当前日期之前(后)日期的简单格式
* @param amount 相隔的单位:月
* @return 以年为单位的相隔日期
*/
public static String SimpleFormatDateComputeM(int amount)
{
Calendar ctemp=c;
ctemp.add(Calendar.MONTH,amount);
String date=sdf.format(ctemp.getTime());
ctemp.add(Calendar.MONTH,-amount);
return date;
}
/**
* 得到当前日期之前(后)日期的简单格式
* @param amount 相隔的单位:日
* @return 以年为单位的相隔日期
*/
public static String SimpleFormatDateComputeD(int amount){
Calendar ctemp=c;
ctemp.add(Calendar.DATE,amount);
String date=sdf.format(ctemp.getTime());
ctemp.add(Calendar.DATE,-amount);
return date;
}
public static void main(String[] args){
//得到系统时间的简单格式
System.out.println(DateUtils.getSimpleFormatToday());
//得到系统时间的年
System.out.println(DateUtils.getSimpleFormatYear());
//得到系统时间的月
System.out.println(DateUtils.getSimpleFormatMonth());
//得到系统时间的日
System.out.println(DateUtils.getSimpleFormatDay());
//得到系统时间的年-月格式
System.out.println(DateUtils.getSimpleFormatYearMonth());
}
}
参考:http://blog.csdn.net/softwave/article/details/527582
9、Date Calendar DateFormat用法一览
参考http://blog.csdn.net/gideal_wang/article/details/5640966