mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-12-14 19:49:15 +08:00
54 lines
1.7 KiB
C#
54 lines
1.7 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
|
|||
|
namespace Wox.Plugin.QueryHistory
|
|||
|
{
|
|||
|
public class HistoryItem
|
|||
|
{
|
|||
|
public string Query { get; set; }
|
|||
|
public DateTime ExecutedDateTime { get; set; }
|
|||
|
|
|||
|
public string GetTimeAgo()
|
|||
|
{
|
|||
|
return DateTimeAgo(ExecutedDateTime);
|
|||
|
}
|
|||
|
|
|||
|
private string DateTimeAgo(DateTime dt)
|
|||
|
{
|
|||
|
TimeSpan span = DateTime.Now - dt;
|
|||
|
if (span.Days > 365)
|
|||
|
{
|
|||
|
int years = (span.Days / 365);
|
|||
|
if (span.Days % 365 != 0)
|
|||
|
years += 1;
|
|||
|
return String.Format("about {0} {1} ago",
|
|||
|
years, years == 1 ? "year" : "years");
|
|||
|
}
|
|||
|
if (span.Days > 30)
|
|||
|
{
|
|||
|
int months = (span.Days / 30);
|
|||
|
if (span.Days % 31 != 0)
|
|||
|
months += 1;
|
|||
|
return String.Format("about {0} {1} ago",
|
|||
|
months, months == 1 ? "month" : "months");
|
|||
|
}
|
|||
|
if (span.Days > 0)
|
|||
|
return String.Format("about {0} {1} ago",
|
|||
|
span.Days, span.Days == 1 ? "day" : "days");
|
|||
|
if (span.Hours > 0)
|
|||
|
return String.Format("about {0} {1} ago",
|
|||
|
span.Hours, span.Hours == 1 ? "hour" : "hours");
|
|||
|
if (span.Minutes > 0)
|
|||
|
return String.Format("about {0} {1} ago",
|
|||
|
span.Minutes, span.Minutes == 1 ? "minute" : "minutes");
|
|||
|
if (span.Seconds > 5)
|
|||
|
return String.Format("about {0} seconds ago", span.Seconds);
|
|||
|
if (span.Seconds <= 5)
|
|||
|
return "just now";
|
|||
|
return string.Empty;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|