2

ユーザーがカレンダーから日付を選択し、選択した日付をコンソールに表示できるようにする必要があります。

次のコードを使用すると、datetimepicker を表示して、選択した日付を受け取ることができます。変数のタイプが文字列の場合、次の出力が表示されます

2013-03-27T00:00:00+11:00

変数のタイプが Date の場合、次の出力が表示されます

null

yyyy-mm-dd または dd-mm-yyyy で結果を受け取るにはどうすればよいですか? したがって、2013-03-27 または 27-03-2013 である必要があります。subStr の使用には興味がありません。他の方法はありますか?

JSP

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%> 
<%@taglib uri="/struts-dojo-tags" prefix="sx" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <sx:head/>
        <title>JSP Page</title>
    </head>

....
<sx:datetimepicker name="Sdate"
                              label="MyDate"
                              displayFormat="dd-MMM-yyyy"
                              value="todayDate"/>
.....

クラス

public class Datepicker{
      private String sdate;
     ... getter and setter go here ...
}
4

1 に答える 1

2

ここにタイプミスの問題があります

JSP にはsx:datetimepicker name="Sdate"これが含まれている必要がありますsx:datetimepicker name="sdate"

しかし、プロパティprivate String sdate;

このようなコントローラーでのみ datatype is Date を使用できますprivate Date sdate;

編集:

 String str = "2013-03-27T00:00:00+11:00";
        SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy");
        try {
            SimpleDateFormat parseFormatter = new SimpleDateFormat("yyyy-MM-dd");
            //SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss+hh:mm"); 
            Date date = parseFormatter.parse(str);

            String formattedDate = formatter.format(date);
            System.out.println(formattedDate);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
于 2013-03-04T04:46:07.280 に答える