using Microsoft.Extensions.Primitives;
public static class Program
public static void Main()
Console.WriteLine("Hello World");
Console.WriteLine( new DateTime().ToString( "MMMM" ) );
Console.WriteLine( "------");
Console.WriteLine( "------");
Console.WriteLine( "------");
private static void Test( int d, int h, int m, int s )
var seconds = d * 24 * 3600 + h * 3600 + m * 60 + s;
var text = SecondsTo_DHMS(seconds);
Console.WriteLine( $"{d}d {h}:{m,2}:{s,2} -> {text}");
public static string SecondsTo_DHMS(this int duration)
var d = duration / (24 * 60 * 60);
var h = (duration % (24 * 60 * 60)) / 3600;
var m = (duration % 3600) / 60;
timeText = h > 0 ? string.Format(P0_D_P1_H, d, m > 0 ? h + 1 : h) : string.Format(P0_D, d);
timeText = m > 0 ? string.Format(P0_H_P1_M, h, s > 0 ? m + 1 : m) : string.Format(P0_H, h);
timeText = s > 0 ? string.Format(P0_M_P1_S, m, s) : string.Format(P0_M, m);
timeText = string.Format(P0_Secs, Math.Max(0, s));
const string P0_Days = "{0} days";
const string P0_Hours = "{0} hours";
const string P0_Minutes = "{0} minutes";
const string P0_Days_P1_Hours = "{0} days {1} hours";
const string P0_Hours_P1_Minutes = "{0} hours {1} minutes";
const string P0_Minutes_P1_Seconds = "{0} minutes {1} seconds";
const string P0_Seconds = "{0} seconds";
const string P0_D = "{0}d";
const string P0_H = "{0}h";
const string P0_M = "{0} min";
const string P0_Secs = "{0} secs";
const string P0_D_P1_H = "{0}d {1}h";
const string P0_H_P1_M = "{0}h {1}min";
const string P0_M_P1_S = "{0}m {1}s";