如何将Date转换为String formate.

Jit*_*dav 5 c#

可能重复:
如何计算相对时间?

我想将日期值转换为字符串格式,就像YouTube视频上传时间或日期格式一样.2年前或1个月前或8个月前这样的假设我只有简单的日期作为输出.

谢谢..!!

Sha*_*ard 1

我几年前写过这个函数,看起来这就是你想要的。

public static string GetTimeElpased(int secondsElpased, int minutesElpased, int hoursElpased,
    int daysElpased, int monthsElpased, int yearsElpased)
{
    if (secondsElpased < 30)
        return "few seconds ago";

    if (minutesElpased < 1)
        return secondsElpased + " seconds ago";

    if (minutesElpased < 5)
        return "few minutes ago";

    if (hoursElpased < 1)
        return minutesElpased + " minutes ago";

    if (hoursElpased < 5)
        return "few hours ago";

    if (daysElpased < 1)
        return hoursElpased + " hours ago";

    if (daysElpased == 1)
        return "yesterday";

    if (monthsElpased < 1)
    return daysElpased + " days ago";

    if (monthsElpased == 1)
        return "month ago";

    if (yearsElpased < 1)
        return monthsElpased + " months ago";

    string halfYear = (monthsElpased >= 6) ? " and half" : "";
    if (yearsElpased == 1)
        return "year" + halfYear + " ago";

    return yearsElpased + " years ago";
}
Run Code Online (Sandbox Code Playgroud)

有关更完整/详细的功能,请参阅其他问题。(在C#中计算相对时间