0

在我的代码中,我将日期作为这个字符串:

date="2013-06-15"

我希望它转换为 15 Jun 2013 。我试过dateFormat:

DateFormat df = new SimpleDateFormat("yyyy-mm-dd");
String date = df.format(det);   
DateFormat f2 = new SimpleDateFormat("dd-mmmm-yyyy");
date=f2.format(date).toLowerCase();
out.println("DATE"+date); 

但它给出了空指针,任何人都可以帮我这样做。请帮忙吗?

4

5 回答 5

2
String dateString="2013-06-15";
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(dateString);
DateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
DateFormat df2 = new SimpleDateFormat("dd MMM yyyy");
System.out.println(df.format(date).toLowerCase());//print 15-jun-2013
System.out.println(df.format(date));//print 15-Jun-2013
System.out.println(df2.format(date));//print 15 Jun 2013
于 2013-06-26T07:04:40.667 回答
1

首先将您的日期字符串转换为日期,然后将其转换为您所需的格式

package naveed.workingfiles;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class DateToString {

public static void main(String[] args) {

String laDate="2013-06-15";
String dateString = laDate.substring(8, 10) + "/"
            + laDate.substring(5, 7) + "/"
            + laDate.substring(0, 4);
Date date= new SimpleDateFormat("dd/MM/yyyy").parse(dateString);
String dateFormat = "dd-MMM-yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat, new Locale("en_US"));
String tDate = sdf.format(date);
System.out.println(tDate);//here your String date 

}

}
于 2013-06-26T07:08:00.617 回答
1
// Create an instance of SimpleDateFormat used for formatting 
// the string representation of date (month/day/year)
DateFormat df = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");

// Get the date today using Calendar object.
Date today = Calendar.getInstance().getTime();        
// Using DateFormat format method we can create a string 
// representation of a date with the defined format.
String reportDate = df.format(today);

// Print what date is today!
System.out.println("Report Date: " + reportDate);
于 2013-06-26T07:10:11.570 回答
1

这是行不通的:format()不接受字符串参数:

String date = df.format(det);   
DateFormat f2 = new SimpleDateFormat("dd-mmmm-yyyy");
date=f2.format(date).toLowerCase();

尝试这个:

String dateAsString = "2013-06-15"
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = df.parse(dateAsString);   
df = new SimpleDateFormat("dd MMM yyyy");
out.println("DATE"+df.format(date)); 
于 2013-06-26T07:10:36.093 回答
1

这将起作用

    String dateStr = "2013-06-15";
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    Date date=df.parse(dateStr);
    DateFormat f2 = new SimpleDateFormat("dd-MMM-yyyy");
    System.out.println(f2.format(date));
于 2013-06-26T07:11:21.380 回答