从数据库中读取日期值:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
{
TimeForm timeForm = (TimeForm) form;// TODO Auto-generated method stub
String id = timeForm.getTimeid();
Configuration config = new Configuration().configure();
SessionFactory sf = config.buildSessionFactory();
Session session = sf.openSession();
Info info = (Info) session.get(Info.class, Integer.parseInt(id));
if (info != null)
{
System.out.println(new SimpleDateFormat("yyyy年MM月dd日").format(info.getBirth()));//Timestamp依据一定的格式转化为String类型。
request.getSession().setAttribute("time",new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss").format(info.getBirth()));
return mapping.findForward("success");
} else
{
return mapping.findForward("failure");
}
在数据库中更新数据
代码如下:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws ParseException
{
UpdateForm updateForm = (UpdateForm) form;// TODO Auto-generated method
// stub
String id = updateForm.getTimeid();
String birth = updateForm.getBirth();
Configuration config = new Configuration().configure();
SessionFactory sf = config.buildSessionFactory();
Session session = sf.openSession();
org.hibernate.Transaction t = session.beginTransaction();
Info info = (Info) session.get(Info.class, Integer.parseInt(id));//先查找到当前映射对象
if (info != null)
{
try
{
Timestamp ts = Timestamp.valueOf(birth);
info.setBirth(ts);// 映射文件中birth为Timestamp类型
session.update(info);
t.commit();
} finally
{
session.close();
}
return mapping.findForward("success");
} else
{
return mapping.findForward("failure");
}
1.附dateTime的格式类型
来源于http://www.cnblogs.com/xvqm00/archive/2009/02/19/1394093.html;
DateTime.ToString()函数有四个重载。一般用得多的就是不带参数的那个了。殊不知,DateTime.ToString(string format)功能更强大,能输出不同格式的日期。1. y代表年份,注意是小写的y,大写的Y并不代表年份。
2. M表示月份。
3. d表示日期,注意D并不代表什么。
4. h或H表示小时,h用的是12小时制,H用的是24小时制。
5. m表示分钟。
6. s表示秒。注意S并不代表什么。
格式 | 输出 | 示例 |
年 | ||
y | 7 | string yy = DateTime.Now.ToString("y-MM") yy="7-05" |
yy | 07 | string yy = DateTime.Now.ToString("yy-MM") yy="07-05" |
yyy或更多的y | 1984 | string yy = DateTime.Now.ToString("yyyy"); yy="2007" |
月 | ||
M | 5. | string mon = DateTime.Parse("1984-05-09")ToString("yyyy-M") mon = "1984-5" |
MM | 05. | string mon = DateTime.Parse("1984-05-09")ToString("MM") mon = "05" |
MMM | 如果是中文版的操作系统,则会输出:五月. 如果是英文操作系统,则输入月份前三个字母的简写:May | string mon = DateTime.Parse("2006-07-01").ToString("MMM") 英文版操作系统:Jul 中文版操作系统:七月 |
MMMM或更多的M | 如果是中文版的操作系统,则会输出:五月. 如果是英文操作系统,则输入月份的全写 | string mon = DateTime.Parse("2006-07-01").ToString("MMM") 英文版操作系统:July 中文版操作系统:七月 |
日期或星期 | ||
d | 9 | string dd= DateTime.Parse("1984-05-09")ToString("d") dd= "9"
|
dd | 09 | string dd= DateTime.Parse("1984-05-09")ToString("dd") dd= "09" |
ddd | 如果是中文版的操作系统,则会输出星期,如星期三。. 如果是英文操作系统,则输出星期的简写:如 Wed | string dd = DateTime.Parse("2006-07-01").ToString("ddd") 英文版操作系统:Wed 中文版操作系统:星期三 |
dddd或更多的d | 如果是中文版的操作系统,则会输出星期,如星期三。. 如果是英文操作系统,则输出星期:如 Wednesday | string dd = DateTime.Parse("2006-07-01").ToString("dddd") 英文版操作系统:Wednesday 中文版操作系统:星期三 |
小时 | ||
h | 小时范围:1-12 | string hh = DateTime.Now.ToString(“h”); hh = 8 |
hh或更多的h | 小时范围:1-12 | string hh = DateTime.Now.ToString(“hh”); hh = 08 |
H | 小时范围:0-23 | string hh = DateTime.Now.ToString(“yyyy-H”); hh = 2006-8 |
HH或更多的H | 小时范围:0-23 | string hh = DateTime.Now.ToString(“yyyy-HH”); hh = 2006-08 string hh = DateTime.Pare(“2006-7-4 18:00:00”).ToString(“yyyy-HH”); hh = 2006-18 |
分钟 | ||
m | 6 | string mm = DateTime.Now.ToString("yyyy-MM-dd-m"); mm = “2006-07-01-6”; |
mm或更多的m | 06 | string mm = DateTime.Now.ToString("yyyy-MM-dd-mm"); mm = “2006-07-01-06”; |
秒 | ||
s | 6 | string mm = DateTime.Now.ToString("yyyy-MM-dd-s"); mm = “2006-07-01-6”; |
ss或更多的s | 06 | string mm = DateTime.Now.ToString("yyyy-MM-dd-ss"); mm = “2006-07-01-06”; |