java日期格式化总结

实例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

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值