Apex/Salesforce:从月份的字符串表示形式获取数字月份值

Sal*_*ies 2 datetime date salesforce apex-code

我希望用更好的不太详细的过程替换以下函数,用于从字符串确定数字月份值。有谁知道是否有可用于此目的的日期/日期时间函数?我没有注意到哪一个可以满足我的需要。

代码中的文本字符串正是我接收它们的方式。

预先感谢您的任何帮助。

private static Integer convertMonthTextToNumber(String matrixMonth){
    if(matrixMonth == 'January'){
        return 1;   
    }else if(matrixMonth == 'February'){
        return 2;   
    }else if(matrixMonth == 'March'){
        return 3;   
    }else if(matrixMonth == 'April'){
        return 4;   
    }else if(matrixMonth == 'May'){
        return 5;       
    }else if(matrixMonth == 'June'){            
        return 6;   
    }else if(matrixMonth == 'July'){
        return 7;   
    }else if(matrixMonth == 'August'){
        return 8;   
    }else if(matrixMonth == 'September'){
        return 9;   
    }else if(matrixMonth == 'October'){
        return 10;  
    }else if(matrixMonth == 'November'){
        return 11;  
    }else{
        return 12;
    }
}
Run Code Online (Sandbox Code Playgroud)

tom*_*uyt 5

这个怎么样:

private static Map<String, Integer> monthsMap = new Map<String, Integer>{
  "January"  => 1,
  "February" => 2,
  etc.
};

private static Integer convertMonthTextToNumber(String month)
{
  return monthsMap.get( month );
}
Run Code Online (Sandbox Code Playgroud)

  • Salesforce.com 没有办法做到这一点。对于我来说,我是按照上面的方法走的。 (2认同)