我已经使用 Calendar 类来获取当前日期。现在我想将该日期转换为日期格式,以便可以将其存储在格式为“yyyy-mm-dd”的数据库中。我尝试使用 SimpleDate 格式对其进行转换,但出现错误。代码如下。帮助。提前致谢。
class dateDemo
{
public static void main(String args[])
{
String stringdate ;
SimpleDateFormat sdf;
String year,month,day;
Calendar currentDate;
Date validity;
currentDate = Calendar.getInstance();
year = "" + currentDate.get( Calendar.YEAR );
month = "" + currentDate.get( Calendar.MONTH );
day = "" + currentDate.get( Calendar.DAY_OF_MONTH );
stringdate = year+"/"+month+"/"+day;
sdf = new SimpleDateFormat("yyyy-mm-dd");
try
{
validity = sdf.parse ( stringdate );
}
catch(Exception e)
{
System.out.println(""+e);
}
System.out.println("Current Date is:"+stringdate);
System.out.println("Date is"+validity);
}
}
最佳答案
我运行了您的代码并得到了 java.text.ParseException
。只是为了消除错误,您可以简单地将程序中的“/”更改为“-”,但它不会为您提供正确的日期。
试试这个修改后的解决方案,采用 String、java.util.Date 和 java.sql.Date 格式:
class dateDemo {
public static void main(String args[]) {
SimpleDateFormat sdf;
String validity = "";
Date validityDate = null;
java.sql.Date validateDateSql = null;
Date currentDate = Calendar.getInstance().getTime();
sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
validity = sdf.format(currentDate);
validityDate = sdf.parse(validity);
validateDateSql = new java.sql.Date(validityDate.getTime());
} catch (Exception e) {
System.out.println("" + e);
}
}
}
注意 SimpleDateFormat 设置:yyyy-MM-dd
,而不是 yyyy-mm-dd
。这很重要。
关于java - 将字符串转换为类型 'Date',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16120579/