简体   繁体   中英

Formatting Date from Date Object with only MM/DD/YYYY

Currently using Parse to obtain a date on an object by using:

Date date = object.getCreatedAt();

The returned String when displaying it in a TextView is this:

Mon Mar 17 22:39:27 CET 2014

However I really only want the MM/DD/YYYY to display like so: 3/17/2014

I've tried this:

Date date = object.getCreatedAt();
SimpleDateFormat originalFormat = new SimpleDateFormat("MMM DDD yyyy"); 
try {
    Date originaldate = originalFormat.parse(date.toString());
    finalDate = originaldate.toString();
} catch (java.text.ParseException e1) {
    e1.printStackTrace();
}

but keep getting a ParseException for "Unparseable date", any idea what's going on? If I were to simply change this line back to this:

SimpleDateFormat originalFormat = new SimpleDateFormat("EEE MMM DDD HH:mm:ss z yyyy"); 

Then it prints out the full date again just fine with no parse exception, including all the date stuff I don't want.

Don't use parse method, use format instead :

Date date = object.getCreatedAt();
SimpleDateFormat formater = new SimpleDateFormat("M/d/yyyy");
String datestring = formater.format(date); // value is : 3/17/2014

http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#toString()

java.util.Date.toString() method always returns a String of format dow mon dd hh:mm:ss zzz yyyy For example, Thu Jan 10 02:00:00 EET 1992 .

Your Date format "MMM DDD yyyy" expects a date String like Jan 10 1992 where 10 represents not 10th day of January but 10th day of year 1992.

Therefore to convert a date to String and convert it back to Date object using your format, you need to do

Date originaldate = originalFormat.parse(originalFormat.parse(date.toString()));

Or to convert Date.toString() to Date object,

SimpleDateFormat toStringFormat = new SimpleDateFormat("dow mon dd hh:mm:ss zzz yyyy"); Date originaldate = toStringFormat.parse(date.toString());

Lastly, if you want a Date string with format like 3/17/2014 , the correct format is M/d/yyyy . Refer to http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html for help on how to write Date format.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM