File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Java in General and the fly likes UTF date formatting Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "UTF date formatting" Watch "UTF date formatting" New topic
Author

UTF date formatting

Manoj Raghuwanshi
Ranch Hand

Joined: Jun 20, 2004
Posts: 75
Hi,
I am trying to write data to a csv file. It contains a date string.




In the string buffer (cvsBuffer) it is showing the date string in the correct format that I am expecting (mm/dd/YY). But after writing to csv file it is coming in mm/dd/yyyy format. Is it happening due to utf-8 foramtting? If yes please help me how to avoid this date formatting.

Thanks
Manoj
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18671
No, I don't think there's any way that UTF-8 would cause that. It seems more likely that there's some other mix-up. Have you looked at the CSV file yourself, or are you relying on some other program which reads the file and parses that field as a Date?


"I'm not back." - Bill Harding, Twister
Manoj Raghuwanshi
Ranch Hand

Joined: Jun 20, 2004
Posts: 75
yes I saw the CSV file.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42906
    
  69
This is mysterious. You have ascertained that in the StringBuffer the date is in mm/dd, and after it's run through toString and getBytes, it is in dd/mm? You could check whether it's still correct after the toString operation.
Manoj Raghuwanshi
Ranch Hand

Joined: Jun 20, 2004
Posts: 75
No, after toString its is mm/dd/yy but after getBytes(�utf-8�) it becomes mm/dd/yyyy.
If it is 08/05/07 it becomes 08/05/2007
Manoj Raghuwanshi
Ranch Hand

Joined: Jun 20, 2004
Posts: 75
No, after toString its is mm/dd/yy but after getBytes(�utf-8�) it becomes mm/dd/yyyy.
If it is 08/05/07 it becomes 08/05/2007
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18671
Frankly, what you describe does not seem to be possible. I think there's likely been some mixup either before or after the getBytes() method call. To figure this out, I recommend putting some print statements as close as possible to the call, before and after:

This should give a better picture of where the problem really lies.
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42906
    
  69
I just ran the following, and it confirms that all is well in this part of the code (meaning it prints "true").

Where are you seeing the "2007"? Some programs -like Excel- format CSV data upon import, thereby turning 2-digit years into 4-digit years, so that would not be a valid test.
Manoj Raghuwanshi
Ranch Hand

Joined: Jun 20, 2004
Posts: 75
Yes Ulf it is indeed Excel issue. Excel is formatting the date. Thanks Ulf,Jim.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: UTF date formatting