aspose file tools*
The moose likes Java in General and the fly likes Trouble formatting a Date based on the User's Locale Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Trouble formatting a Date based on the User Watch "Trouble formatting a Date based on the User New topic
Author

Trouble formatting a Date based on the User's Locale

James McKee
Greenhorn

Joined: Jul 11, 2007
Posts: 29
I'm having trouble figuring out an easy way to format a date based on the current user's locale without manually passing in a format string. I realize you can do something like this:

DateFormat dateFormat = DateFormat.getDateInstance( DateFormat.SHORT, locale );

However, this does not get me what I want because DateFormat.SHORT is basically M/d/yy. For the default English_US Locale, I want my dates to look like MM/dd/yyyy. As you can see by the code below, I created a little hack to get this, but I feel like there's got to be a better and cleaner way to do this...right? Also, another issue I'm running into is that when I'm logged in as a users' locale which uses '-' instead of '/' (i.e. 21-01-2009), I get a parse exception, thrown by the parseDate method below. Can anyone provide any input? Thanks.

Wei Geng
Greenhorn

Joined: Dec 10, 2004
Posts: 28
Maybe you can try java.text.SimpleDateFormat class.

This class allows us to format the Date into a certain pattern (i.e. yyyy-MM-dd HH:mm:ss) and also can parse the a String to Date with a pattern.

Please read the Java SE API. It will be helpful.

James McKee
Greenhorn

Joined: Jul 11, 2007
Posts: 29
Wei GENG wrote:Maybe you can try java.text.SimpleDateFormat class.

This class allows us to format the Date into a certain pattern (i.e. yyyy-MM-dd HH:mm:ss) and also can parse the a String to Date with a pattern.

Please read the Java SE API. It will be helpful.



I'm aware of that class, but I don't want to pass in a specific string to the SimpleDateFormat class. I want to know if there's a way JAVA can figure out the formatting for me, based on the user's locale.
James McKee
Greenhorn

Joined: Jul 11, 2007
Posts: 29
any help would be appreciated
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

You'll have to use SimpleDateFormat I'm afraid, unless the default Java format for a locale matches what you expect (which in your example it didn't.)


Cheers, Martijn - Blog,
Twitter, PCGen, Ikasan, My The Well-Grounded Java Developer book!,
My start-up.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Trouble formatting a Date based on the User's Locale