TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
C# Corner
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
C# Code to Calculate Relative Time
Kannadasan G
Mar 29
2016
Code
6
k
0
0
facebook
twitter
linkedIn
Reddit
WhatsApp
Email
Bookmark
expand
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.UtcNow.Ticks - yourDate.Ticks);
double
delta = Math.Abs(ts.TotalSeconds);
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"
;
}
Relative Time
C#