您的位置:首页 > 编程语言 > Java开发

Java字符串,日期的格式化

2012-11-23 11:45 369 查看
package com.accp.dao;

import java.sql.Timestamp;

import java.util.Date;

public class DateTime {

public Date dateToJava(Timestamp date){

Date javaDate=new Date(date.getTime());

return javaDate;

}

}

二、字符串与HTML字符内容转换

有些特殊字符在Java中可以随便输出,但是在HTML页面中就不能够正常显示了。

这个时候我们需要对这些特殊字符做以个转换。 如 < 转换成 <

方法如下:

public String htmlSetChange(String source){

String changeStr="";

changeStr=source.replace("&","&");

changeStr=changeStr.replace(" "," ");

changeStr=changeStr.replace("<","<");

changeStr=changeStr.replace(">",">");

changeStr=changeStr.replace("\r\n","

");

return changeStr;

}

二、日期格式化处理

JSP项目中,为什么需要日期格式化处理呢?

主要原因是Java中有两个Date类,一个为java.util.Date,另一个为java.sql.Date。

它们两者的关系是:java.util.Date是java.sql.Date的父类。

我们Java中程序中常用的java.util包的Date,但是数据库中使用的为java.sql包的,所有当我们把日期存入数据库时就会发生问题,因为父类对象不能够直接赋值给子类引用。

提供的解决方案有:

a. 使用SQL语句插入数据时,可直接取数据库时间。 用getdate()

b. 如果需要把已有的Date对象存入数据库中,不需人工转换,强制转换不行。

目前常用方法为:

1.

java.util.Date dd = new java.util.Date();

java.sql.Date sdate = new java.sql.Date(dd.getTime()); //采用这种方式转换

2.

java.util.Date dd = new java.util.Date();

//创建日期格式化对象

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

//格式化当前日期

String sdate = sdf.format(dd);

//设置日期--因为SQL Server中字符串可以和日期类型自动转换。

pre.setObject(i++, sdate);

//有时分秒,但不兼容其它数据库,只适用于SQL Server数据库。

c. 读取数据库中的日期时,可使用getDate(),不过此时损失时分秒

d. 可使用getString获取日期类型,再把字符串转成创建为java.util.Date类型对象

把字符串转成日期类型时,需要使用DateFormat类。来自java.text包

这个类的构造方法为protected类型,所以我们需要使用静态方法获取类的实例。

常用三个方法:

static DateFormat getDateInstance() 只包括日期,不带时间。

static DateFormat getDateTimeInstance() 包括日期和时间

static DateFormat getTimeInstance() 只包括时间部分

它还有其它的重载方法,比如带风格和时区参数的

获取格式化对象后,在调用Date parse(String source) 方法得到日期对象。

例如:

Date d = DateFormat.getDateTimeInstance().parse("2009-08-08 20:08:08");

//参数为符合日期规则的字符串

System.out.println(d.getDate());

如果要把日期类型格式化成字符串,使用java.text.SimpleDateFormat类

例如:

Date d = new Date();

//创建格式化对象实例,并带日期格式字符串

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");

String s = sdf.format(d);

System.out.println(s);

其它详细内容:请参见JDK帮助文档。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: