关于java:将字符串“11-10-10 12:00:00”转换为Date对象

Convert string “11-10-10 12:00:00” into Date object

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
how to parse date in java?

我想将字符串"11-10-10 12:00:00"转换为Date对象,但我无法这样做。 你能帮帮我吗?

我有Date对象,其值为"Mon Oct 11 00:00:00 IST 2010"

1
2
3
4
5
6
7
8
9
10
11
DateFormat newDateFormat = new SimpleDateFormat("dd-MM-yy hh:mm:ss");    
String strDate = newDateFormat.format(tempDate);  
//**i got strDate as strDate is : 11-10-10 12:00:00**
DateFormat newDateFormat1 = new SimpleDateFormat("dd-MM-yy hh:mm:ss");    
try {    
 tempDate = newDateFormat1.parse(strDate);
     // **getting tempDate as - Mon Oct 11 00:00:00 IST 2010**    
   } catch (ParseException e) {    
 // TODO Auto-generated catch block    
 e.printStackTrace();    
 }


1
2
3
DateFormat newDateFormat = new SimpleDateFormat("dd-MM-yy HH:mm:ss");    
Date d = newDateFormat.parse("11-10-10 12:00:00");
System.out.println(d);

这是ideone演示


你需要使用CultureInfo for Hindi它是"hi-IN"。 有关完整文化列表,请查看此链接CultureInfo

1
2
3
4
5
6
7
8
9
    class Program
{
    static void Main(string[] args)
    {
        var str ="11-10-10 12:00:00";

        DateTime dateTime = DateTime.Parse(str, new CultureInfo("hi-IN", false));
    }
}


我认为这是Java代码 - 不是我的专长 - 但我认为你的问题是格式字符串中的"hh",这导致parse将"12:00:00"解释为午夜而不是中午。 尝试将其更改为"HH"并查看是否正确解析。