Creating date field with only month and year
We can make this in a hook_form_alter.
$form['DATE_FIELD_MACHINE_NAME']['widget'][0]['value']['#date_date_element'] = 'month';
$form['DATE_FIELD_MACHINE_NAME']['widget'][0]['value']['#date_date_format'] = 'Y-m';

However, there is still a problem of this way:  instead of first day of the month, current day will be saved. I cannot figure out how to solve.