• jinsu kim
  • NEWBIE
  • 0 Points
  • Member since 2012

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
    Questions
  • 1
    Replies
Hello,

I have a Controller, or in other words simply an Apex method, that has a method that returns a PageReference object with some querystring parameters:

Code:
public PageReference save() {            

 String optyId = ApexPages.currentPage().getParameters().get('id');           

 PageReference opptyPage = new PageReference('/' + optyId + '/e');            

 String contractEndDateString = String.valueOf(getOpportunity().Contract_End_Date__c.month()) + '/' +String.valueOf(getOpportunity().Contract_End_Date__c.day()) + '/' + String.valueOf(getOpportunity().Contract_End_Date__c.year());
 opptyPage.getParameters().put('opp9', contractEndDateString);

 opptyPage.setRedirect(true);

 return opptyPage;
}

A date format in Apex is 'yyyy-MM-dd', so I manually convert it to 'MM/dd/yyyy' in order to prepopulate a 'close date' field (opp9) on Opportunity in edit mode:

Code:
String contractEndDateString = String.valueOf(getOpportunity().Contract_End_Date__c.month()) + '/' +String.valueOf(getOpportunity().Contract_End_Date__c.day()) + '/' + String.valueOf(getOpportunity().Contract_End_Date__c.year());
opptyPage.getParameters().put('opp9', contractEndDateString);

The problem is that 'MM/dd/yyyy' is a US standard of a date, so this prepopulation would fail for a date format, say, 'dd/MM/yyyy'.
How can this code be generic enough to handle this problem?


P.S. I tried to use the UserInfo.getLocale() method - but it doesnt' seem to be useful.

Thanks for your future replies!
Shamil
  • September 15, 2008
  • Like
  • 0