Hola Felipe.
Es necesario más contexto para comprender el requerimiento. Las opciones de la 2 a la 5 se resuelven bien con la función nativa FormatDateTime.
En cuando a las opciones 0 y 1 te agradecería algunos ejemplos de valores de entrada con sus respectivos valores de salida.
Ahora, suponiendo que ya existiera la función que sugieres, ¿cómo la usarías? ¿Alguna pieza de código un poco más generosa para dar una idea? Resulta importante conocer el origen de este tipo de inquietudes.
Quedo a la espera de tu retroalimentación, saludos.