copy TimeFormatter from v10