---
title: "How to Calculate relative time in C#"  
description: "How to Calculate relative time in C#"  
author: "Anonymous User"  
published: 2018-06-02  
updated: 2018-06-02  
canonical: https://www.mindstick.com/forum/34501/how-to-calculate-relative-time-in-c-sharp  
category: "c#"  
tags: ["c#"]  
reading_time: 3 minutes  

---

# How to Calculate relative time in C#

Given a specific [DateTime](https://www.mindstick.com/forum/12949/how-to-validate-if-a-datetime-field-is-not-null-empty) [value](https://www.mindstick.com/articles/23219/an-optimized-description-adds-value-to-experience-and-in-turn-effectively-guest-posting-packages), how do I display [relative](https://www.mindstick.com/interview/33881/overview-of-relative-absolute-fixed-and-sticky-positioning-in-css) time, like:

1 [hours](https://answers.mindstick.com/qa/101444/who-s-the-youngest-winner-of-the-le-mans-24-hours-race) ago

3 [days](https://www.mindstick.com/articles/157271/how-to-get-cloudways-free-trial-for-14-days-free) ago

2 month ago

3 year ago

## Replies

### Reply by SQL Tutorials  Point

use following code:

```
using System;using System.Collections.Generic;using System.Linq;using System.Web;
namespace Example.Models{    public static class Common    {
        public static string ToRelativeTime(this DateTime date)
        {            const int SECOND = 1;            const int MINUTE = 60 * SECOND;            const int HOUR = 60 * MINUTE;            const int DAY = 24 * HOUR;            const int MONTH = 30 * DAY;             var ts = new TimeSpan(DateTime.Now.Ticks - date.Ticks);            double delta = Math.Abs(ts.TotalSeconds);
            if (delta < 0)            {                return "not yet";            }
            if (delta < 1 * MINUTE)            {                return ts.Seconds == 1 ? "one second ago" : ts.Seconds + " seconds ago";            }            if (delta < 2 * MINUTE)            {                return "a minute ago";            }
            if (delta < 45 * MINUTE)            {                return ts.Minutes + " minutes ago";            }
            if (delta < 90 * MINUTE)            {                return "an hour ago";            }
            if (delta < 24 * HOUR)            {                return ts.Hours + " hours ago";            }
            if (delta < 48 * HOUR)            {                return "yesterday";            }
            if (delta < 30 * DAY)            {                return ts.Days + " days ago";            }
            if (delta < 12 * MONTH)            {                int months = Convert.ToInt32(Math.Floor((double)ts.Days / 30));                return months <= 1 ? "one month ago" : months + " months ago";            }            else            {                int years = Convert.ToInt32(Math.Floor((double)ts.Days / 365));                return years <= 1 ? "one year ago" : years + " years ago";            }        }    }} 
```

use above method like this:

```
DateTime.Now.ToRelativeTime();
```

\

thanks, i hope it will help for you.

\


---

Original Source: https://www.mindstick.com/forum/34501/how-to-calculate-relative-time-in-c-sharp

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
