Link to home
Start Free TrialLog in
Avatar of Bruce Gust
Bruce GustFlag for United States of America

asked on

How do I retrieve the time using PHP

I'm using this:

      <?php
                  $b = time();
                  $the_time = date("g:i a", $b);
                  echo $the_time;
                  ?>

But the time, I'm assuming, is coming from the server that the code is hosted on. How do I grab the time from the user's computer?
Avatar of vogen gurung
vogen gurung
Flag of Australia image

Because PHP runs on the server, I do not believe you'll be able to retrieve the client's time unless you run javascript to retrieve that information and store it in a variable for your use.
Avatar of honestman31
honestman31

You cannot grab( directly ) the user computer time in  PHP
YOu will need to grab his IP address  and then you will need to know the country based on the ip address .

another alternative is to use java script ( java script is a client side scripting so the time will be the computer time of the user not the server time )
sorry didn't realise your are trying to get date from user pc.

another alternative would be setting cookies
SOLUTION
Avatar of honestman31
honestman31

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
the Idea is you should have two files
timezone.js   ( that has the JavaScript )
and
timezone.php
that will get the user GMT offest form a session created by timezone.js
Avatar of Bruce Gust

ASKER

Honestman - Here's what I'm doing based on your suggestion:


<!-- THREE STEPS TO INSTALL CURRENT TIME:

   1.  Paste the specified coding into the HEAD of your HTML document
   2.  Add the onLoad event handler to the BODY tag
   2.  Put the last code into the BODY of your HTML document  -->

<!-- STEP ONE: Copy this code into the HEAD of your HTML document  -->

<HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var timerID = null;
var timerRunning = false;
function stopclock (){
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
function showtime () {
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds()
var timeValue = "" + ((hours >12) ? hours -12 :hours)
if (timeValue == "0") timeValue = 12;
timeValue += ((minutes < 10) ? ":0" : ":") + minutes
timeValue += ((seconds < 10) ? ":0" : ":") + seconds
timeValue += (hours >= 12) ? " P.M." : " A.M."
document.clock.face.value = timeValue;
timerID = setTimeout("showtime()",1000);
timerRunning = true;
}
function startclock() {
stopclock();
showtime();
}
// End -->
</SCRIPT>

<!-- STEP TWO: Add this onLoad event handler to the BODY tag  -->

<BODY onLoad="startclock()">

<!-- STEP THREE: Copy this code into the BODY of your HTML document  -->

<CENTER>
<FORM name="clock">
<input type="text" name="face" size=13 value="">
</FORM>
</CENTER>

<?php
$time_now =

<!-- Script Size:  1.45 KB  -->


But how do I grab the time produced by the javascript and save it in a php variable. You'll see where I left off with $time_now = ... How do I finish this?
This is  not the code I mentioned to You .
The code provide seems to display time in the user browser and this time will move  every second , so now what I need to know is what exactly you want to store in PHP variable ?
is it the first time when the user first open the page ?
The best option would be to set a cookie. Write current client's time using javascript and read this cookie through php.

Mat
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial