• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Timestamp Javascript minus 2 Stunden?

ruhrpottler

New member
moin habe mir ein timestamp javascript geschrieben und hänge nun fest. Brauche wegen Server zeitversatz irgendwo darin minus 2 Stunden also damit der Timestamp richtig ist dann.
Habe schon alles versucht mit debian-serverzeit mysql timezone wie apache timezone haut nicht hin. Muss also hier drin minus 2 stunden sein. thx.


HTML:
<SCRIPT LANGUAGE="JavaScript">


  function Calculate()
  {
    if(document.form1.switcher.value == "<=")
      humanToTime();
    else if(document.form1.switcher.value == "<=")
      humanToTime();
  }
  function timeToHuman()
  {
    var theDate = new Date(document.form1.timeStamp.value * 1000);
    dateString = theDate.toGMTString();
    arrDateStr = dateString.split(" ");
    document.form1.inMon.value = getMonthNum(arrDateStr[2]);
    document.form1.inDay.value = arrDateStr[1];
    document.form1.inYear.value = arrDateStr[3];
    document.form1.inHr.value = arrDateStr[4].substr(0,2);
    document.form1.inMin.value = arrDateStr[4].substr(3,2);
    document.form1.inSec.value = arrDateStr[4].substr(6,2);
  }
  function humanToTime()
  {
    var humDate = new Date(Date.UTC(document.form1.inYear.value,
          (stripLeadingZeroes(document.form1.inMon.value)-1),
          stripLeadingZeroes(document.form1.inDay.value),
          stripLeadingZeroes(document.form1.inHr.value),
          stripLeadingZeroes(document.form1.inMin.value),
          stripLeadingZeroes(document.form1.inSec.value)));
          document.form1.timeStamp.value = (humDate.getTime()/1000.0);



  }
  function pointRight()
  {
   document.form1.switcher.value="<=";
  }
  function pointLeft()
  {
    document.form1.switcher.value="<=";
  }
  function stripLeadingZeroes(input)
  {
    if((input.length > 1) && (input.substr(0,1) == "0"))
      return input.substr(1);
    else
      return input;
  }
  function getMonthNum(abbMonth)
  {
    var arrMon = new Array("Jan","Feb","Mar","Apr","May","Jun",
          "Jul","Aug","Sep","Oct","Nov","Dec");
    for(i=0; i<arrMon.length; i++)
    {
      if(abbMonth == arrMon[i])
        return i+1;
    }
  }
//  End -->
</script>


<form method="post" name="form1" action="index.php?page=termine/termininsert/" enctype="multipart/form-data" class="form-horizontal"> 

<center>
<table border=0>
<tr>
  <td></td>
  <td valign=bottom rowspan=2>
    <input type="hidden" name=switcher value="<=" onClick="Calculate();"></td>
  <td><center>Tag:</center></td>
  <td> </td>
  <td><center>Monat:</center></td>
  <td> </td>
  <td><center>Jahr:</center></td>
  <td> </td>
  <td><center>Stunde:</center></td>
  <td> </td>
  <td>Minute:</td>
</tr>
<tr>
  <td align=center><input type="text" size="14" maxlengtd="11" name="timeStamp" onKeyUp="pointLeft();"></td>



<td>
<select name="inDay" onKeyUp="pointLeft();" >
<option value="" name="inDay" selected="selected">??</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="01">01</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="02">02</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="03">03</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="04">04</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="05">05</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="06">06</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="07">07</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="08">08</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="09">09</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="10">10</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="11">11</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="12">12</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="13">13</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="14">14</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="15">15</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="16">16</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="17">17</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="18">18</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="19">19</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="20">20</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="21">21</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="22">22</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="23">23</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="24">24</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="25">25</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="26">26</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="27">27</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="28">28</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="29">29</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="30">30</option>
<option name="inDay" onClick="Calculate();" onKeyUp="pointLeft();"  value="31">31</option>
</select></td>
<td></td>
<td>
<select name="inMon" onKeyUp="pointLeft();" >
<option value="" name="inMon" selected="selected">??</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="01">Januar</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="02">Februar</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="03">März</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="04">April</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="05">Mai</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="06">Juni</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="07">Juli</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="08">August</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="09">September</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="10">Oktober</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="11">November</option>
<option name="inMon" onClick="Calculate();" onKeyUp="pointLeft();" value="12">Dezember</option>
</select></td>
  <td></td>

<td>
<select name="inYear" onKeyUp="pointLeft();" >
<option value="" name="inYear" selected="selected">????</option>
<option name="inYear" onClick="Calculate();" onKeyUp="pointLeft();" value="2016">2016</option>
<option name="inYear" onClick="Calculate();" onKeyUp="pointLeft();" value="2017">2017</option>
<option name="inYear" onClick="Calculate();" onKeyUp="pointLeft();" value="2018">2018</option>
<option name="inYear" onClick="Calculate();" onKeyUp="pointLeft();" value="2019">2019</option>
<option name="inYear" onClick="Calculate();" onKeyUp="pointLeft();" value="2020">2020</option>
</select>
</td>
  <td>Uhrzeit:</td>
<td>

<select name="inHr" onKeyUp="pointLeft();" >
<option value="" name="inHr" selected="selected">??</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="0">0</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="1">1</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="2">2</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="3">3</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="4">4</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="5">5</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="6">6</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="7">7</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="8">8</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="9">9</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="10">10</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="11">11</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="12">12</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="13">13</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="14">14</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="15">15</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="16">16</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="17">17</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="18">18</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="19">19</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="20">20</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="21">21</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="22">22</option>
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="23">23</option>
</select></td>
  <td>:</td>
<td>



<select name="inMin" onKeyUp="pointLeft();" onClick="Calculate();">
<option value="" name="inMin" selected="selected">??</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="00">00</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="05">05</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="10">10</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="15">15</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="20">20</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="25">25</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="30">30</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="35">35</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="40">40</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="45">45</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="50">50</option>
<option name="inMin" onClick="Calculate();" onKeyUp="pointLeft();" onClick="Calculate();" value="55">55</option>
</select> Uhr</td>

<td><input type="hidden" name="inSec" value"00" onKeyUp="pointLeft();"></td>
</tr>
</table></center>
</form>
 
Zuletzt bearbeitet:
Ein UNIX Timestamp sollte überall gleich sein. Wenn nicht, hast du irgendwo die Zeit(-zone) falsch eingestellt.

So wie ich das sehe, gibst du hier die Zeiten in UTC ein, was nicht unsere Zeitzone in DE zur Zeit ist...
Code:
  function humanToTime(){
    var humDate = new Date(
      document.form1.inYear.value,
      stripLeadingZeroes(document.form1.inMon.value)-1,
      stripLeadingZeroes(document.form1.inDay.value),
      stripLeadingZeroes(document.form1.inHr.value),
      stripLeadingZeroes(document.form1.inMin.value),
      stripLeadingZeroes(document.form1.inSec.value)
    );
    document.form1.timeStamp.value = (humDate.getTime()/1000.0);
  }
ABER ACHTUNG: bei dem Code stimmt nicht immer der Timestamp, denn der Wechsel zwischen Sommer- und Winterzeit wird hierbei nicht beachtet.
 
habe schon im header

Code:
<?php
date_default_timezone_set('Europe/Berlin');
?>

kann aber noch um 2 stunden zurücksetzen zur not manuell im option select feld..
zbs.
Code:
<option name="inHr" onClick="Calculate();" onKeyUp="pointLeft();" value="15">17</option>
dann ist statt 17 uhr 15 uhr aber wollte es gerne im javascript haben.
habe versucht: bei

Code:
document.form1.timeStamp.value = (humDate.getTime()/1000.0);
zu
document.form1.timeStamp.value = (humDate.getTime()*1 - 1000*3600*2 );

kommt aber nur müll bei rum:(

habe noch ne funktion mit + getTimeOffset() bei mysql abfrage mit select
aber wie gesagt wollte wissen ob es auch hier in java geht
 
Zuletzt bearbeitet:
Mir ist immer noch nicht ganz klar, wo genau dein Problem liegt. Was willst du denn da mit JS ausgeben? Und warum vergleichst du da mit PHP Werten?

Man kann natürlich mit JS schon von ein Datum zwei Stunden abziehen:
Code:
var now = new Date();
var in2Hours = new Date(now.getTime() - 2 * 3600 * 1000);
console.log(now);
console.log(in2Hours);

Aber ich denke, dass dein Problem eigentlich wo anders liegt...
 
Zurück
Oben