import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
/**
* 该类主要完成对字符的验证和过滤
* @author
*
*/
public class StringUtil {
//转换日期格式
public static java.sql.Date parseDate(String s)throws Exception{
String [] str=s.split("-");
if(str.length!=3){
throw new Exception("日期格式不正确!");
}
int year=Integer.parseInt(str[0]);
int month=Integer.parseInt(str[1]);
int day=Integer.parseInt(str[2]);
if(year>9999 || year<0){
throw new Exception("日期格式不正确!");
}
if(month<1 || month>12){
throw new Exception("日期格式不正确!");
}
if(day<1 || day>31){
throw new Exception("日期格式不正确!");
}
return new java.sql.Date(year-1900,month-1,day);
}
/**
* 把字符串解析为Date对象
* @param str 日期字符串
* @return 日期对象
* @throws ParseException
*/
public static java.util.Date StrToDate(String str) throws ParseException {
//指定日期格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
java.util.Date date = null;
//把字符串解析为Date对象
date = format.parse(str);
return date;
}
/**
* 根据字符串返回一个日期类型对象
* @param date 日期对象
* @return 字符串
*/
public static String DateToStr(java.util.Date date) {
//指定日期格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//把日期对象解析为指定格式的字符串
String str = format.format(date);
return str;
}
/**
* 日期+整数=日期 (分钟数)
* @param dt 日期
* @param count 整数
* @return 日期
*/
public static java.sql.Date MINUTE_Shift(java.util.Date dt, int count)
{
Calendar cal = Calendar.getInstance();
//使用给定的 Date 设置此 Calendar 的时间
cal.setTime(dt);
//根据日历的规则,为给定的日历字段添加或减去指定的时间量
//Calendar.MINUTE,用来设置 整数与日期中的 什么相加 Calendar.MINUTE为钟
cal.add(Calendar.MINUTE, count);
return new java.sql.Date(cal.getTimeInMillis());
//java.sql.Date(cal.getTimeInMillis()).toString() // 默认格式化日期转义形式 yyyy-mm-dd 的日期
}
/* 这个能看出效果
public static java.util.Date MINUTE_Shift(java.util.Date dt, int count)
{
Calendar cal = Calendar.getInstance();
//使用给定的 Date 设置此 Calendar 的时间
cal.setTime(dt);
//根据日历的规则,为给定的日历字段添加或减去指定的时间量
//Calendar.MINUTE,用来设置 整数与日期中的 什么相加 Calendar.MINUTE为钟
cal.add(Calendar.MINUTE, count);
return new java.util.Date (cal.getTimeInMillis());
}
*/
}
在sql中:
declare @ret smalldatetime
declare @day char(20)
select @day=convert(char(20),getdate(),120)
print @day
如果取出来的是个date,在jsp中:
Date(long date) 本身就可以把long 类型的数字转换成date类型的。
建议先看看java.text.DateFormat和java.util.Date这几个类。
在jsp页面取得系统时间
<jsp:useBean id="now" class="java.util.Date"/>
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd hh:mm:ss"/>