PHP MSSQL - How To Display a Past Time in Days, Hours and Minutes?

Submitted by: Administrator
You have seen a lots of Websites are displaying past times in days, hours and minutes. If you want to do this yourself, you can use the DATEDIFF() SQL function The following tutorial exercise shows you how to use DATEDIFF() to present a past time in days, hours, and minutes:

<?php
$con = mssql_connect('LOCALHOST','sa','GlobalGuideLine');
mssql_select_db('GlobalGuideLineDatabase', $con);

$submit_time = "2007-05-29 04:09:49";
$sql = "SELECT 'Posted '"
. " + CONVERT(VARCHAR(40),"
. " DATEDIFF(minute, '$submit_time',"
. " GETDATE())/(24*60))"
. " + ' days, '"
. " + CONVERT(VARCHAR(40),"
. " DATEDIFF(minute, '$submit_time',"
. " GETDATE())%(24*60)/60)"
. " + ' hours, and '"
. " + CONVERT(VARCHAR(40),"
. " DATEDIFF(minute, '$submit_time',"
. " GETDATE())%60)"
. " + ' minutes ago.'";
print(" $sql ");

$res = mssql_query($sql, $con);
if (!$res) {
print("SQL statement failed with error: ");
print(" ".mssql_get_last_message()." ");
} else
Submitted by: Administrator

If today is you run this script, you will get something like this:

SELECT 'Posted ' + CONVERT(VARCHAR(40),
DATEDIFF(minute, '2007-05-29 04:09:49',
GETDATE())/(24*60))
+ ' days, ' + CONVERT(VARCHAR(40),
DATEDIFF(minute, '2007-05-29 04:09:49',
GETDATE())%(24*60)/60)
+ ' hours, and ' + CONVERT(VARCHAR(40),
DATEDIFF(minute, '2007-05-29 04:09:49',
GETDATE())%60)
+ ' minutes ago.'

Posted 26 days, 16 hours, and 15 minutes ago.

Submitted by: Administrator

Read Online MS SQL Server Job Interview Questions And Answers