¿Formato DateTime.ToString () que puede usarse en un nombre de archivo o extensión?

Quiero agregar una marca de tiempo a los nombres de archivo a medida que se crean los archivos, pero la mayoría de los métodos DateTime que he intentado generan algo con espacios y barras. Por ejemplo:

Debug.WriteLine(DateTime.Now.ToString()); // <-- 9/19/2012 1:41:46 PM
Debug.WriteLine(DateTime.Now.ToShortTimeString()); // <-- 1:41 PM
Debug.WriteLine(DateTime.Now.ToShortDateString()); // <-- 9/19/2012
Debug.WriteLine(DateTime.Now.ToFileTime()); // <-- 129925501061462806

ToFileTime() Funciona pero no es exactamente legible por humanos. ¿Cómo puedo formatear la salida a una marca de tiempo legible para humanos con fecha y hora que se puede usar en un nombre de archivo o extensión? Preferiblemente algo como2011-19-9--13-45-30?

Respuestas a la pregunta(9)

Su respuesta a la pregunta