Avatar billede apromis Praktikant
03. august 2010 - 16:52 Der er 3 kommentarer og
1 løsning

Sekunder siden 1970 i javascript fejler

Hej alle sammen.
Vil gerne have Javascript til at regne sekunder ud fra 1970 ud en formel. Men pt. giver php og javascript ikke samme resultat :
<?php
    //Date.UTC(year, month, day, hrs, min, sec)
// int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])
$tidSubmittedDate = mktime(23, 59, 00, 12, 31, 2007);
echo $tidSubmittedDate;
?>

<html>
    <script type="text/javascript">
var dengang = Date.UTC(2007, 12, 31, 23, 59, 0);
var textstring = dengang;
alert (textstring);

</script>


Jeg er ret sikker på det javascript delen som fejler, da den også indsætter alt for mange cifre.

Kan nogen se fejlen ?
På forhånd tak :)
Avatar billede olsensweb.dk Ekspert
03. august 2010 - 20:06 #1
Date.UTC regner i milli sec, hvilke er sekundært, men i dit eks også 32 dage forkert :(

en nød løsning kunne værer at anvende mktime.js fra http://phpjs.org/functions/mktime:474 , phpjs.org har rigtig mange php functioner omskrevet til js

download link http://github.com/kvz/phpjs/raw/master/functions/datetime/mktime.js



<?php
// Unix Epoch (January 1 1970 00:00:00 GMT)
$tidSubmittedDate = mktime(23, 59, 00, 12, 31, 2007);
echo $tidSubmittedDate;
?>

<html>
    <!-- http://phpjs.org/functions/mktime:474 -->
    <script type="text/javascript" src="mktime.js"></script>
    <script type="text/javascript">
    var tidSubmittedDate = mktime(23, 59, 00, 12, 31, 2007);
    alert (tidSubmittedDate);
</script>
Avatar billede olsensweb.dk Ekspert
03. august 2010 - 20:14 #2
http://www.tizag.com/javascriptT/javascriptdate.php
[cut]
    *  getTime() - Number of milliseconds since 1/1/1970 @ 12:00 AM
    * getSeconds() - Number of seconds (0-59)
    * getMinutes() - Number of minutes (0-59)
    * getHours() - Number of hours (0-23)
    * getDay() - Day of the week(0-6). 0 = Sunday, ... , 6 = Saturday
    * getDate() - Day of the month (0-31)
    * getMonth() - Number of month (0-11)
    * getFullYear() - The four digit year (1970-9999)



Notice that we added 1 to the month variable to correct the problem with January being 0 and December being 11. After adding 1, January will be 1, and December will be 12.
[/cut]
kunne måske spille ind, bare en tanke
Avatar billede apromis Praktikant
03. august 2010 - 20:33 #3
Det er virkeligt smukt :)
Tak for hjælpen.
Smid et svar og pointsne er dine :)
Avatar billede olsensweb.dk Ekspert
03. august 2010 - 20:38 #4
<?php
    //Date.UTC(year, month, day, hrs, min, sec)
// int mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])
$tidSubmittedDate = mktime(23, 59, 00, 12, 31, 2007);
echo $tidSubmittedDate;
?>

<html>
    <script type="text/javascript">
// var dengang = Date.UTC(2007, 12, 31, 23, 59, 0);
// måned rettes 1 ned grundet Number of month (0-11)
var dengang = Date.UTC(2007, 11, 31, 23, 59, 0);
var textstring = dengang/1000; // delt med 1000 for at få det i sec
alert (textstring);
</script>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester