How can I add something after the day/hour/time in a date select list? On Drupal 8, the select list provided by the Date module looks like this:



The site I am building in Japanese, and in Japanese, it's common to add a character to indicate what the number means, like this:

2018 2 5 15 00　-&gt; 2018年 2月 5日 15時 00分


How can I add these labels?  I attempted to do it through the string translation UI screen, but since the year, day, hour, and minutes are just numbers, there is no way to "translate" them.  The month shows up correctly because it is translated from Jan/Feb/etc.

I am thinking the solution involves hook_form_alter() but I don't know how to modify the way the values are displayed in the select widget without actually changing the values input and causing the form to fail.
You can't use hook_form_alter() or hook_field_widget_form_alter() in this case. Try with hook_element_info_alter()

function MY_MODULE_element_info_alter(array &amp;$types) {
  if (isset($types['datelist'])) {
     $types['datelist']['#process'][] = '_mymodule_add_suffix_value';
  }
}

function _mymodule_add_suffix_value(&amp;$element) {
  // process logic option $element['day']
  // process $element['month']
  // process $element['hour']
  return $element;
}