`

Java中日期格式转换总结

    博客分类:
  • java
 
阅读更多

 

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();
  }
 }
}

 

 

 

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();    //获取当前系统的时间

 //格式化日期

new 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()));

 ------------------------------------------------------------------------------下面是自己总结的---------------------------------------------------------------------------------------------------

 9.java.util.Date包中的日期存入数据库,转为java.sql.Date方法

   注意:java.sql.Date类是继承自java.util.Date

	public void ToDataBase(java.util.Date date){
		//.....连接的一些操作
		//这样存入的日期便没有具体的时间
		ps.setBirthday(1,new java.sql.Date(date.getTime())); 
	}

 10.从数据库中取出java.sql.Date类型数据,转为java.util.Date的方法

	public void FromDataBase(){
		
		//因为是父类与子类的关系,所以从子类转为父类可以通过上转型直接得到
		java.util.Date date = rs.getDate("birthday");
	}

 11.将字符串日期类型以java.sql.Date类型存入数据库

		String time = "2001-01-01";
		SimpleDateFormat s = new SimpleDateFormat("yyyy-mm-dd");
		Date t = s.parse(time);
		java.sql.Date da = new java.sql.Date(t.getTime());

 

 

实用封装类

 

 

 

public class StringUtil {
public static String formatDate(Date date){
if(date==null){
return "";
}
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return format.format(date);
}

public static String formatDate(long time){
Date date = new Date(time);
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss");
return format.format(date);
}

public static String formatDate(String time){
Date date = new Date(Long.valueOf(time));
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss");
return format.format(date);
}

public static boolean isNumber(String str){
boolean isOk = false;
try {
Integer.valueOf(str);
isOk = true;
} catch (NumberFormatException e) {
isOk = false;
e.printStackTrace();
}
return isOk;
}
}

 

 

出自:http://www.cnblogs.com/-cyb/articles/Android_Date_format_Change.html

 

 

---------------------------------------------String 、 Date 、 Timestamp三者之间的转换-----------------------------------------------------------

 注: Timestamp 是java.sql包中的类,类库中还有一个(是在java.security中的)

 

一:  String 与  Date之间的转换

      1.1 String --> Date

    

String dateStr = “2010/05/04 12:34:23″;  
        Date date = new Date();  
        //注意format的格式要与日期String的格式相匹配  
        DateFormat sdf = new SimpleDateFormat(“yyyy/MM/dd HH:mm:ss”);  
        try {  
            date = sdf.parse(dateStr);  //解析为固定的时间类型
            System.out.println(date.toString());  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  

 

 

         1.2 Date---> String

    

       

String dateStr = “”;  
        Date date = new Date();  
        //format的格式可以任意  
        DateFormat sdf = new SimpleDateFormat(“yyyy/MM/dd HH:mm:ss”);  
        DateFormat sdf2 = new SimpleDateFormat(“yyyy-MM-dd HH/mm/ss”);  
        try {  
            dateStr = sdf.format(date);  //格式化为制定的的字符串
            System.out.println(dateStr);  
            dateStr = sdf2.format(date);  
            System.out.println(dateStr);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  

 

 

二:String  与 Timestamp 之间的相互转换

 

     2.1 String --> Timestamp

 

       使用Timestamp的valueOf()方法

   

Timestamp ts = new Timestamp(System.currentTimeMillis());  
        String tsStr = “2011-05-09 11:49:45″;  
        try {  
            ts = Timestamp.valueOf(tsStr);  
            System.out.println(ts);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
  /** 注:String的类型必须形如: yyyy-mm-dd hh:mm:ss[.f...] 这样的格式,中括号表示可选,否则报错!!!
    如果String为其他格式,可考虑重新解析下字符串,再重组*/

 

     2.2 Timestamp --> String

 

    使用Timestamp的toString()方法或者借用DateFormat

 

Timestamp ts = new Timestamp(System.currentTimeMillis());  
        String tsStr = “”;  
        DateFormat sdf = new SimpleDateFormat(“yyyy/MM/dd HH:mm:ss”);  
        try {  
            //方法一  
            tsStr = sdf.format(ts);  
            System.out.println(tsStr);  
            //方法二  
            tsStr = ts.toString();  
            System.out.println(tsStr);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
 //很容易能够看出来,方法一的优势在于可以灵活的设置字符串的形式

 

 

三 Date 和 Timestamp 之间相互转换

 

   3.1 Date --> Timestamp

    

 /**  父类不能直接向子类转化,可借助中间的String~~~~

   注:使用以下方式更简洁
*/

   Timestamp ts = new Timestamp(date.getTime());

 

 

   3.2 Timestamp -- > Date

 

   

Timestamp ts = new Timestamp(System.currentTimeMillis());  
        Date date = new Date();  
        try {  
            date = ts;  
            System.out.println(date);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
 //很简单,但是此刻date对象指向的实体却是一个Timestamp,即date拥有Date类的方法,但被覆盖的方法的执行实体在Timestamp中。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    java日期格式转换

    ### Java日期格式转换详解 在Java开发中,对日期和时间进行操作是非常常见的需求之一。本文将基于给定文件中的代码示例,详细介绍如何在Java中实现日期格式的转换,并探讨其中涉及的关键知识点。 #### 一、理解...

    JAVA日期与字符串的转换

    ### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...

    Java日期格式转换.doc

    本文档主要介绍了Java中日期格式转换的相关知识点,通过具体的代码示例来演示如何获取和格式化当前系统时间。 #### 二、关键类和方法 1. **Calendar 类** - `Calendar` 是一个抽象类,提供了操作日期和时间的方法...

    java 时间格式转换符的使用

    总结,Java的时间格式转换符是处理日期和时间的关键工具,它们使得日期对象和字符串之间的转换变得简单。`SimpleDateFormat`虽然经典,但`java.time`包的出现提供了更好的选择,尤其是在处理日期和时间时的线程安全...

    与众不同的 Java 日期格式化大全

    Java 日期格式化大全是 Java 中一个非常重要的知识点,它对于将时间字符串转换为日期或将日期转换为时间字符串起着关键作用。在 Java 中,我们通常使用 `java.text.SimpleDateFormat` 类来处理日期和时间字符串的...

    java 数据格式转换符的使用

    在Java编程语言中,数据格式转换符是控制输出格式的关键元素,它们被广泛应用于`System.out.println()`,`printf()`,以及`String.format()`等方法中。这些转换符允许我们以指定的精度、宽度和样式来展示数值、日期...

    java中的日期处理类总结

    Java中的日期处理涉及到多个类,包括Date、Calendar、GregorianCalendar以及日期格式化类如DateFormat和SimpleDateFormat。这些类主要用于管理、操作和格式化日期和时间。以下是对这些类的详细说明: 1. **Date类**...

    java日期格式化

    Java日期格式化是Java开发中常见的一项任务,它涉及到日期和时间的处理,尤其是在数据输入输出、用户界面显示以及数据库交互等场景。Java提供了一系列的类来帮助我们完成日期和时间的格式化工作,其中最常用的包括`...

    java来格式化日期为标准格式

    // 使用formatter将日期转换为字符串 String formattedDate = formatter.format(now); // 输出格式化后的日期 System.out.println("Formatted Date: " + formattedDate); } } ``` 在上面的代码中,`"yyyy-MM-...

    java中时间格式的转换.docx

    #### 二、Java日期时间的基本概念 在Java中,处理日期和时间主要涉及到以下几个类: - `java.util.Date`:表示特定的瞬间,精确到毫秒。 - `java.sql.Date`:用于数据库操作,精确到天。 - `java.sql.Timestamp`:...

    Java中日期处理的代码

    日期转换方法 示例代码中包含了两个主要的方法用于实现日期和字符串之间的相互转换: #### 4.1 字符串转日期 ```java public static java.util.Date stringToDate(String dateStr, String format) ``` 此方法...

    extjs日期显示(如何转换日期格式).pdf

    在 ExtJS 中显示日期时间需要进行格式转换,以便正确地显示日期信息。下面是实现日期格式转换的步骤和相关知识点。 日期格式转换 ExtJS 中的日期时间显示需要将后台传过来的日期数据进行格式转换。后台传过来的...

    Java日期格式化及其使用例子收集

    ### Java日期格式化详解及其应用实例 #### 一、引言 在Java开发过程中,日期时间的处理是一项非常常见的需求。对于日期时间的格式化、解析等操作,`SimpleDateFormat` 类提供了强大的支持。本文将详细介绍`...

    java格式化日期类

    总结起来,`java.text.SimpleDateFormat`是Java中用于日期和时间格式化的强大工具,通过模式字符串定义日期的显示格式,提供日期到字符串和字符串到日期的转换功能。熟练掌握这一工具类,能够帮助开发者更高效地处理...

    Json与java对象之间相互转换源码

    总结一下,JSON与Java对象之间的相互转换是Java开发中常见的任务。通过使用Gson或Jackson这样的库,我们可以方便地实现这一目标,从而简化数据处理流程。在实际项目中,根据具体需求选择合适的库,并理解其基本用法...

    java时间转换大全

    本文将详细介绍Java中常用的时间和日期转换方法,涵盖日期与字符串之间的相互转换、日期与时间戳之间的转换等内容。 #### 一、导入所需包 为了实现日期和时间的转换,我们需要导入以下两个包: ```java import ...

    java 时间格式转换及常用时间处理

    这两个方法分别实现了将日期转换为24小时制和12小时制的时间字符串。 #### 三、总结 通过上述介绍可以看出,在Java中处理日期和时间是非常灵活的,只需要正确地选择`SimpleDateFormat`的格式化模式即可实现多种...

    java日期格式函数的用法与实例

    总结,Java提供了丰富的日期和时间处理工具,如`java.util.Date`、`Calendar`以及`java.time`包中的类。通过学习和实践,我们可以方便地获取系统当前时间、将字符串转换为日期对象、获取日期的年份和月份天数,以及...

    javaScript和java中日期相减得出天数方案

    无论是使用JavaScript还是Java来计算两个日期之间的天数差,核心思想都是将日期转换为毫秒数,然后计算两者之间的差值,最后将毫秒数转换为天数。这两种语言虽然语法有所不同,但实现逻辑非常相似。掌握这种方法对于...

    GMT时间格式转换(GMT) .doc

    第二种实现方法是将 GMT 日期转换成 long 型毫秒数,然后再进一步的转换成普通的 Date 时间格式。首先,使用 SimpleDateFormat 解析 GMT 时间格式字符串,获取 Date 对象。然后,使用 getTime 方法获取 Date 对象的...

Global site tag (gtag.js) - Google Analytics