CSharp examples for System:DateTime Format
To Relative Time Future
using System;//from www .j a va 2s .co m public class Main{ private static string _ToRelativeTimeFuture(DateTime dt, DateTime utcNow) { TimeSpan ts = dt - utcNow; double delta = ts.TotalSeconds; if (delta < 60) { return ts.Seconds == 1 ? "in 1 second" : "in " + ts.Seconds + " seconds"; } if (delta < 3600) // 60 mins * 60 sec { return ts.Minutes == 1 ? "in 1 minute" : "in " + ts.Minutes + " minutes"; } if (delta < 86400) // 24 hrs * 60 mins * 60 sec { return ts.Hours == 1 ? "in 1 hour" : "in " + ts.Hours + " hours"; } // use our own rounding so we can round the correct direction for future var days = (int)Math.Round(ts.TotalDays, 0); if (days == 1) { return "tomorrow"; } else if (days <= 10) { return "in " + days + " day" + (days > 1 ? "s" : ""); } // if the date is in the future enough to be in a different year, display the year if (utcNow.Year != dt.Year) return "on " + dt.ToString(@"MMM %d \'yy 'at' %H:mmm"); else return "on " + dt.ToString("MMM %d 'at' %H:mmm"); } }