2016-11-26 189 views
-2

我在格式化日期时遇到问题。 在我的addstudent.jsp文件中,我要求用户ti输入他们的出生日期。我正在使用input type =“text”。添加输入的格式是dd-mm-yyyy。现在,我必须以yyyy-mm-dd格式将日期以yyyy-mm-dd格式存储为mysql存储。 我在addprocess.jsp文件中做了这个。但是我不明白的东西是错误的。当我将08-05-2009作为输入时,我将2009-01-08 作为输出存储在mysql数据库中。我究竟做错了什么? 这是我的addstudent.jsp文件。无法正确格式化日期

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"   pageEncoding="ISO-8859-1"%> 
    <!DOCTYPE html> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Adding Student</title> 
    <link rel="stylesheet" type="text/css" href="style.css" /> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> 
    <script> 
    function validateform(){ 
    var errorString=""; 
    var name=document.myform.name.value; 
    var email=document.myform.email.value; 
    var parentemail=document.myform.parentemail.value; 

    if (name==null || name=="" || !(/^[A-Za-z\s]+$/.test(name))){ 
    document.getElementById("error").innerHTML=errorString+"Name can have only alphabets and spaces"; 
    return false; 
    } 
    function validateEmail(email){ 
    var re = /^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)| (".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
    return re.test(email); 
    } 
    if(!validateEmail(email)){ 
    document.getElementById("error").innerHTML=errorString+" Your email is not valid"; 
    return false; 
    } 
if(!validateEmail(parentemail)){ 
    document.getElementById("error").innerHTML=errorString+" Your parent's email is not valid"; 
return false; 
    } 
    } 
    </script> 
    </head> 
    <body> 
    <div id="outer"> 
     <%@include file="header.jsp" %> 
     <%@ page import="java.util.*"%> 
     <%@ page import="java.util.regex.*"%> 
     <%@page import="java.sql.*"%> 
     <div id="error"></div> 
     <div id="main"> 
      <div id="box"> 
       <form name="myform" method="post" action="addprocess.jsp" onsubmit="return validateform();"> 
        <table> 
         <tr><td style="color:navy;"><B> Login Form</B></td> </tr> 
         <tr><td><br></td></tr> 
         <tr><td>User Name:</td><td><input type="text" name="name" placeholder="Enter your name"/></td></tr> 
         <tr><td><br></td></tr> 
         <tr><td>Email Id:</td><td><input type="text" name="email" placeholder="Enter Email ID"/></td></tr> 
         <tr><td><br></td></tr> 
         <tr><td>Parent Email Id:</td><td><input type="text" name="parentemail" placeholder="Enter Parent's Email ID"/></td></tr>  
         <tr><td><br></td></tr> 
         <tr><td>Date Of Birth:</td><td><input type="text" name="dateofbirth" placeholder="dd-mm-yyyy"/></td></tr> 
         <tr><td><br></td></tr> 
         <tr><td>Address:</td><td><input type="text" name="address" placeholder="Enter your address"/></td></tr> 
         <tr><td><br></td></tr> 
         <tr><td>  </td><td><input type="submit" value="Sign in"></td></tr> 

        </table> 
       </form>  

       <br> 

      </div> 
     </div> 
    </div> 
    </body> 
    </html> 

这是addprocess.jsp文件提前

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
     pageEncoding="ISO-8859-1"%> 
    <!DOCTYPE html> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    </head> 
    <body> 
    <%@ page import="java.util.*"%> 
    <%@ page import="java.util.regex.*"%> 
    <%@page import="java.sql.*"%> 
    <%@page import="java.text.ParseException"%> 
    <%@page import="java.text.SimpleDateFormat"%> 
    <%@page import="java.text.DateFormat"%> 
    <%@page import="java.util.Date"%> 
    %> 
    <% 
     String name=request.getParameter("name"); 
     String email=request.getParameter("email"); 
     String parentemail=request.getParameter("parentemail"); 



    SimpleDateFormat format = new SimpleDateFormat("dd-mm-yyyy"); 
    java.util.Date util_Date = format.parse(  request.getParameter("dateofbirth")); 
    java.sql.Date dateOfBirth = new java.sql.Date(util_Date.getTime()); 

    System.out.println(dateOfBirth); 

    String address=request.getParameter("address"); 
    %> 

    </body> 
    </html> 

感谢。

+1

如何在Java中的数据库中存储日期的主题上的许多其他问题没有解决您的问题?请解释你的问题如何不同和新颖。 –

+0

@BasilBourque我偶然发现有人说使用“mm”。我找不到明确的解释。 – user6153087

+0

这个类的文档是怎么说的?其他问答中的数百个示例显示了什么? –

回答

1

日期格式中的“mm”是分钟;日期格式中的“MM”是月份。

+0

谢谢MM和mm之间的困惑。现在清除了:) – user6153087