Java 将字符串转换为“时出现不可解析的日期异常”;yyyy MM dd HH:MM:ss“;

Java 将字符串转换为“时出现不可解析的日期异常”;yyyy MM dd HH:MM:ss“;,java,sql,parsing,datetime,sybase,Java,Sql,Parsing,Datetime,Sybase,您好,我正在尝试将字符串19611015转换为日期格式(“yyyy-MM-dd HH:MM:ss”),然后再将其存储到sybase数据库表中。我尝试了以下代码,该代码给出了错误: 无法解释的日期:“19611015” 我一直在阅读一些冗长而复杂的解决方案,其中一些建议使用Locale。有人可以解释一下,也许是一个替代的简单解决方案,将我的字符串转换成我上面所追求的日期格式。谢谢。字符串中的日期为yyyyMMdd格式,希望将其转换为yyyy-MM-dd HH:MM:ss,因此请使用以下代码:

您好,我正在尝试将字符串19611015转换为日期格式(“yyyy-MM-dd HH:MM:ss”),然后再将其存储到sybase数据库表中。我尝试了以下代码,该代码给出了错误:

无法解释的日期:“19611015”


我一直在阅读一些冗长而复杂的解决方案,其中一些建议使用Locale。有人可以解释一下,也许是一个替代的简单解决方案,将我的字符串转换成我上面所追求的日期格式。谢谢。

字符串中的日期为yyyyMMdd格式,希望将其转换为yyyy-MM-dd HH:MM:ss,因此请使用以下代码:

        DateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
        DateFormat targetFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = originalFormat.parse("19611015");
        String formattedDate = targetFormat.format(date); 
        System.out.println(formattedDate);
输出:

1961-10-15 00:00:00

阿喀琉斯,下面的代码可能会解决您的问题:

package com.test;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class LongToDate {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        cal.setTimeInMillis(19611015 * 1000);
        String dateFormatString = "yyyy-MM-dd HH:mm:ss";
        DateFormat dateFormat = new SimpleDateFormat(dateFormatString);
        String result = dateFormat.format(cal.getTime());
        System.out.println(result);
        //Output: 1969-12-10 15:46:18
    }
}

19611015
的格式不是
yyyy-MM-dd HH:MM:ss
19611015的格式是哪种?您应该使用yyyyymmdd而不是yyyy-MM-dd HH:MM:ssI我尝试了yyyyymmdd,但仍然没有成功。我想让它看起来像1961-10-15 00:00:0019611015变成1969-12-10 15:46:18?你好,邹祖,我正在将长值转换为MS,然后进行解析。如果这不正确,请告诉我。
19611015
表示
1961-10-15
。还有
19611015*1000
overflows.Opps,我认为19611015是毫秒,我的错。即使是,你的代码也不会工作,因为
19611015*1000
溢出。
package com.test;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class LongToDate {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        cal.setTimeInMillis(19611015 * 1000);
        String dateFormatString = "yyyy-MM-dd HH:mm:ss";
        DateFormat dateFormat = new SimpleDateFormat(dateFormatString);
        String result = dateFormat.format(cal.getTime());
        System.out.println(result);
        //Output: 1969-12-10 15:46:18
    }
}