private void updateHeaderSeparator(){
  String timePattern;
  if (SUtils.isApi_18_OrHigher()) {
    timePattern=DateFormat.getBestDateTimePattern(mCurrentLocale,(mIs24HourView) ? "Hm" : "hm");
  }
 else {
    timePattern=DateTimePatternHelper.getBestDateTimePattern(mCurrentLocale,(mIs24HourView) ? DateTimePatternHelper.PATTERN_Hm : DateTimePatternHelper.PATTERN_hm);
  }
  final String separatorText;
  final char[] hourFormats={'H','h','K','k'};
  int hIndex=lastIndexOfAny(timePattern,hourFormats);
  if (hIndex == -1) {
    separatorText=":";
  }
 else {
    separatorText=Character.toString(timePattern.charAt(hIndex + 1));
  }
  mSeparatorView.setText(separatorText);
}

private void updateHeaderSeparator ( ) { String timePattern ; if ( SUtils . isApi_18_OrHigher ( ) ) { timePattern = DateFormat . getBestDateTimePattern ( mCurrentLocale , ( mIs24HourView ) ? "Hm" : "hm" ) ; } else { timePattern = DateTimePatternHelper . getBestDateTimePattern ( mCurrentLocale , ( mIs24HourView ) ? DateTimePatternHelper . PATTERN_Hm : DateTimePatternHelper . PATTERN_hm ) ; } final String separatorText ; final char [ ] hourFormats = { 'H' , 'h' , 'K' , 'k' } ; int hIndex = lastIndexOfAny ( timePattern , hourFormats ) ; if ( hIndex == - 1 ) { separatorText = ":" ; } else { separatorText = Character . toString ( timePattern . charAt ( hIndex + 1 ) ) ; } mSeparatorView . setText ( separatorText ) ; }
the time separator is defined in the unicode cldr and cannot be supposed to be " : " . < p / > see http : / / unicode . org / cldr / trac / browser / trunk / common / main < p / > we pass the correct " skeleton " depending on 12 or 24 hours view and then extract the separator as the character which is just after the hour marker in the returned pattern .
