• How to Convert a Date Time to “X minutes ago” in C# z


    http://www.codeproject.com/Articles/770323/How-to-Convert-a-Date-Time-to-X-minutes-ago-in-Csh

    In one of our previous posts, we saw how can we convert a Date Time value to “X Minutes Ago” feature using jQuery. Today, in this post, we will see how we can achieve the same functionality in C#. In this post, we will write a C# function that will take a DateTime as a parameter and return the appropriate string.

    The function to convert DateTime to a “Time Ago” string is as below:

    public static string TimeAgo(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;
    }

    You can call the function something like below:

    Console.WriteLine(TimeAgo(DateTime.Now));
    Console.WriteLine(TimeAgo(DateTime.Now.AddMinutes(-5)));
    Console.WriteLine(TimeAgo(DateTime.Now.AddMinutes(-59)));
    Console.WriteLine(TimeAgo(DateTime.Now.AddHours(-2)));
    Console.WriteLine(TimeAgo(DateTime.Now.AddDays(-5)));
    Console.WriteLine(TimeAgo(DateTime.Now.AddMonths(-3)));

    The output looks something like below:

    datetime-time-ago-C#

    Hope this post helps you. Keep learning and sharing!

  • 相关阅读:
    Django学习(文件上传与下载)
    Django学习(实现登录功能)
    Django学习(实现注册功能)
    Django学习(环境配置)
    Android-Universal-Image-Loader异步加载图片框架学习
    Android自定义控件_View的绘制流程
    Android自定义控件_Canvas分析
    属性方法介绍——View(1)
    Android平滑移动——Scroller类研究
    记录一个前端二级导航栏的淡入淡出效果
  • 原文地址:https://www.cnblogs.com/zeroone/p/3724718.html
Copyright © 2020-2023  润新知