将指定日期字符串转换为Calendar对象

本文详细介绍如何使用Java的SimpleDateFormat类进行日期格式化,包括创建日期格式化对象、将字符串转换为Date对象,以及进一步转换为Calendar对象的过程。同时,展示了如何通过JavaBean类实现这一功能,并提供了完整的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用格式化日期时间的java.text.SimpleDateFormat类

  1. 创建一个"yyyy-mm-dd"格式的格式化对象
    SimpleDateFormat format=new SimpleDateFormat(“yyyy-mm-dd”);

  2. 通过SimpleDateFormat对象的parse()方法将指定字符串转换为Date对象
    Date date=format.parse(“2016-06-12”);

  3. 通过Calendar对象的setTime()方法将Date对象转换为Calendar对象
    Calendar calendar=Calendar.getInstance();
    calendar.setTime(date);
    在这里插入图片描述
    在这里插入图片描述
    创建StringUtil的JavaBean类,将日期字符串转换为Calendar对象

    public class StringUtil {
    private String dateStr; //日期字符串
    private Calendar calendar=null; //将字符串转换后的Calendar对象
    public String getDateStr() {
    return dateStr;
    }
    public void setDateStr(String dateStr) {
    this.dateStr = dateStr;
    }
    public Calendar getCalendar() throws java.text.ParseException {
    Date date =null; //声明一个Date类型的对象
    SimpleDateFormat format = null; //声明格式化日期的对象
    if(dateStr!=null){
    format = new SimpleDateFormat(“yyyy-MM-dd”);//创建日期的格式化类型

    		calendar = Calendar.getInstance();	//创建一个Calendar类型的对象
    		date = format.parse(dateStr);	//解析日期字符串,生成Date对象
    		calendar.setTime(date);			//使用Date对象设置此Calendar对象的时间
    	}
    	return calendar;
    }
    public void setCalendar(Calendar calendar) {
    	this.calendar = calendar;
    }
    public static void main(String [] args){
    	
    	Date date =new Date();
    	String d = null;
    	SimpleDateFormat format = new SimpleDateFormat("yyyy.mm.dd hh:mm:ss");
    	d= format.format(date);
    	System.out.println(d);
    }
    

    }
    创建index.jsp页,输入表单信息

    <%@ page language=“java” contentType=“text/html; charset=UTF-8”
    pageEncoding=“UTF-8”%>

    Insert title here
    请输入日期字符串: 格式为2019-3-7

创建tocalendar.jsp,将日期字符串转换为Calendar对象,输入Calendar对象中的年月日

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ page language="java" import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	String dateStr=request.getParameter("datestr");
%>
<jsp:useBean id="strBean" class="com.cn.zj.bean.StringUtil"></jsp:useBean>
<jsp:setProperty property="dateStr" name="strBean" value="<%=dateStr %>"/>
<table border="1">
	<tr>
		<td align="right">输入的日期为:</td>
		<td>
			<jsp:getProperty property="dateStr" name="strBean"/>
		</td>
	</tr>
	<tr>
		<td align="right" width="100">输出转换后的Calendar对象中的日期值:</td>
		<td>
			<%Calendar calendar=strBean.getCalendar(); %>
			年:<%=calendar.get(calendar.YEAR) %><br>
			月:<%=calendar.get(calendar.MONTH)+1 %><br>
			日:<%=calendar.get(calendar.DAY_OF_MONTH) %><br>
		</td>
	</tr>
</table>
</body>
</html>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值