2013-08-01 28 views
0

在我的代码中,我使用日期格式为dd/mm/yyyy的用户输入,并将结果显示为字符串。例如,如果我输入2011年2月2日,它应该显示为'2011年2月2日'。但是我的代码总是将JAN显示为月份。Java中的ConvertDate

import java.util.*; 
import java.text.*; 
public class ConvertDate { 
public static void main(String[] args) { 


Scanner sc = new Scanner(System.in); 
System.out.print("Enter Date: "); 
String ind = sc.nextLine(); 

DateFormat df = new SimpleDateFormat("dd/mm/yyyy"); 
Date d = null; 
try { 

d=df.parse(ind); 

} 
catch(ParseException e) { 
System.out.println("Unable to parse " + ind);} 


DateFormat df3 = DateFormat.getDateInstance(DateFormat.LONG); 


String s3 = df3.format(d); 


System.out.println("The entered date is: " + s3); 

} 
} 
+1

http://stackoverflow.com/questions/4966652/java-date-problem-in-parsing?rq=1 – Tala

+0

看到这个[http://stackoverflow.com/questions/12986863/java-calendar日期错误] [1] [1]:http://stackoverflow.com/questions/12986863/java-calendar-date-error – Lai

+0

尝试Joda DateTime库。 – OrangeDog

回答

4

我觉得它的东西更像是:

DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); 

m是分的,M为一个月。

+0

Nizil它将再次以输入格式显示日期..我想显示mnth像二月FEB ...如此 –

+0

Thannx NIZIL伟大 –

2

正确的日期格式应该如下:

final DateFormat inputDf= new SimpleDateFormat("dd/MM/yyyy"); 
final DateFormat outputDf= new SimpleDateFormat("dd MMM yyyy"); 

它将如下给出输出:

Input: 01/08/2013 
Output: 01 Aug 2013 
0

格式字符串,m是分钟,M是一个月。

0

如果您期待“二月”,但看到“一月”,这可能是由于日历的索引。 见similar question