using System.Globalization;
public static void Main()
DateTime now = DateTime.UtcNow;
CustomFormattableDateTime customNow = new CustomFormattableDateTime(now);
string formattedDate = customNow.ToString("P", new CultureInfo("it-IT"));
Console.WriteLine(formattedDate);
public class CustomFormattableDateTime : IFormattable
private DateTime dateTime;
public CustomFormattableDateTime(DateTime dateTime)
this.dateTime = dateTime;
public string ToString(string format, IFormatProvider formatProvider)
if (string.Equals(format, "P", StringComparison.OrdinalIgnoreCase))
return dateTime.ToString("dd/MM/yyyy HH:mm:ss", formatProvider);
return dateTime.ToString(format, formatProvider);