Only show the two most significant delta-time components
This commit is contained in:
		@@ -223,11 +223,23 @@ namespace PluralKit
 | 
			
		||||
 | 
			
		||||
    public static class Formats
 | 
			
		||||
    {
 | 
			
		||||
        public static InstantPattern InstantDateTimeFormat = InstantPattern.CreateWithInvariantCulture("yyyy-MM-dd HH:mm:ss");
 | 
			
		||||
        public static InstantPattern TimestampExportFormat = InstantPattern.CreateWithInvariantCulture("g");
 | 
			
		||||
        public static LocalDatePattern DateExportFormat = LocalDatePattern.CreateWithInvariantCulture("yyyy-MM-dd");
 | 
			
		||||
        public static DurationPattern DurationFormat = DurationPattern.CreateWithInvariantCulture("D'd' h'h' m'm' s's'");
 | 
			
		||||
        public static LocalDateTimePattern LocalDateTimeFormat = LocalDateTimePattern.CreateWithInvariantCulture("yyyy-MM-dd HH:mm:ss");
 | 
			
		||||
        public static ZonedDateTimePattern ZonedDateTimeFormat = ZonedDateTimePattern.CreateWithInvariantCulture("yyyy-MM-dd HH:mm:ss x", DateTimeZoneProviders.Tzdb);
 | 
			
		||||
        public static IPattern<Instant> TimestampExportFormat = InstantPattern.CreateWithInvariantCulture("g");
 | 
			
		||||
        public static IPattern<LocalDate> DateExportFormat = LocalDatePattern.CreateWithInvariantCulture("yyyy-MM-dd");
 | 
			
		||||
        public static IPattern<Duration> DurationFormat;
 | 
			
		||||
        public static IPattern<LocalDateTime> LocalDateTimeFormat = LocalDateTimePattern.CreateWithInvariantCulture("yyyy-MM-dd HH:mm:ss");
 | 
			
		||||
        public static IPattern<ZonedDateTime> ZonedDateTimeFormat = ZonedDateTimePattern.CreateWithInvariantCulture("yyyy-MM-dd HH:mm:ss x", DateTimeZoneProviders.Tzdb);
 | 
			
		||||
 | 
			
		||||
        static Formats()
 | 
			
		||||
        {
 | 
			
		||||
            // We create a composite pattern that only shows the two most significant things
 | 
			
		||||
            // eg. if we have something with nonzero day component, we show <x>d <x>h, but if it's
 | 
			
		||||
            // a smaller duration we may only bother with showing <x>h <x>m or <x>m <x>s
 | 
			
		||||
            var compositeDuration = new CompositePatternBuilder<Duration>();
 | 
			
		||||
            compositeDuration.Add(DurationPattern.CreateWithInvariantCulture("D'd' h'h'"), d => d.Days > 0);
 | 
			
		||||
            compositeDuration.Add(DurationPattern.CreateWithInvariantCulture("H'h' m'm'"), d => d.Hours > 0);
 | 
			
		||||
            compositeDuration.Add(DurationPattern.CreateWithInvariantCulture("m'm' s's'"), d => d.Minutes > 0);
 | 
			
		||||
            compositeDuration.Add(DurationPattern.CreateWithInvariantCulture("s's'"), d => true);
 | 
			
		||||
            DurationFormat = compositeDuration.Build();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user