java - 将字符串转换为类型 'Date'

标签 java date calendar

我已经使用 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/

相关文章:

java - 我怎样才能正确地将数据分配给两个消费者?

Javascript 日期和 HTML

java - 在 Google App Engine 中运行 Google Cloud Dataflow 管道时为 "ClassNotFoundException: sun.security.provider.Sun"

R:如何根据日期和时间将一个时间段的一行拆分为多行

php - 我怎样才能确保我在特定时间在 php 中发生某些事情,并且它发生在每个时区的那个时间?

python - TypeError : int() argument must be a string, 类似字节的对象或数字,而不是 'Calendar'

java - 如何在 GWT 中使用 java.util.Calendar

asp.net-mvc - ASP.NET MVC AJAX 日历

java - java中通过JDBC实现数据库独立性

java - 如何重新启动 java 应用程序,记住它的命令行参数