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

应用格式化日期时间的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>
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
可以使用Java中的SimpleDateFormat类和Calendar类来实现英文字符串日期转换为中文字符串年月日。具体代码如下: ```java import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; public class EnglishToChineseDateConverter { public static void main(String[] args) throws Exception { String dateString = "2022-01-01"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); Date date = sdf.parse(dateString); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); String year = String.valueOf(calendar.get(Calendar.YEAR)); String month = String.valueOf(calendar.get(Calendar.MONTH) + 1); String day = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)); String chineseDate = year + "年" + month + "月" + day + "日"; System.out.println("中文日期:" + chineseDate); } } ``` 在这个例子中,我们首先定义了一个字符串类型的日期`dateString`,它表示英文格式的日期。然后,我们使用`SimpleDateFormat`类将其解析为`Date`类型的日期对象。 接着,我们创建了一个`Calendar`对象,并将其设置为解析后的日期对象。通过`Calendar`对象,我们可以获取年、月、日等日期信息,并将其转换字符串类型的中文日期。 最后,我们将年、月、日拼接成中文日期字符串,并将其打印到控制台上。 需要注意的是,在`SimpleDateFormat`构造函数中,我们使用了`Locale.ENGLISH`参数来指定解析的日期格式为英文。如果想要解析其他语言的日期,可以将`Locale.ENGLISH`替换为相应的语言代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值