Bruce Gust
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?
<?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?
http://www.w3schools.com/php/php_date.asp
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.
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 )
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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
timezone.js ( that has the JavaScript )
and
timezone.php
that will get the user GMT offest form a session created by timezone.js
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()",10 00);
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?
<!-- 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()",10
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 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
Mat
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.