ugrás a tartalomhoz

XML & unixtimestamp

mokat · 2009. Júl. 28. (K), 14.20
Sziasztok!

Van egy olyan problémám, hogy egy xml fájlt kéne feldolgoznom. És kiíratni a tartalmát a képernyőre. Ezzel nincs is baj ez ment, de az egyik eleme UNIXTIMESTAMP, és nem tudom hogy, hogy kéne átkonvertálni még kiíratás előtt javascriptben:
  1. <html>  
  2. <head>  
  3. <script type="text/javascript" src="loadxmldoc.js"></script>  
  4. </head>  
  5. <body>  
  6. <script type="text/javascript">  
  7. xmlDoc=loadXMLDoc("abc.xml");  
  8.   
  9.   
  10. x=xmlDoc.getElementsByTagName("receivedOctets");  
  11. y=xmlDoc.getElementsByTagName("timeCaptured");  
  12. z=xmlDoc.getElementsByTagName("monitoredObjectSiteId");  
  13.   
  14. document.write("<table border='1'> <th>Érték</th><th>Mikor</th><th>Melyik</th>");  
  15.   
  16. for (i=0;i<x.length;i++)  
  17.   
  18. {  
  19. document.write("<tr><td>");  
  20. document.write(x[i].childNodes[0].nodeValue);  
  21. document.write("</td><td>");  
  22. document.write(y[i].childNodes[0].nodeValue);  
  23. document.write("</td><td>");  
  24. document.write(z[i].childNodes[0].nodeValue);  
  25. document.write("</td></tr/>");  
  26. }  
  27. document.write("</table>");  
  28.   
  29.   
  30. </script>  
  31. </body>  
  32. </html>  
köszi előre is!
 
1

Date

Poetro · 2009. Júl. 28. (K), 19.02
A Date használatával:
  1. var datum = new Date(unixTimestamp * 1000);  
  2. function formatNumber(num, decimals) {  
  3.   decimals = decimals || 2;  
  4.   var number = new String(num);  
  5.   while (number.length < decimals) {  
  6.     number = '0'+ number;  
  7.   }  
  8.   return number;  
  9. }  
  10. var format = [  
  11.   datum.getFullYear(),  
  12.   '/',  
  13.   formatNumber(datum.getMonth()+1),  
  14.   '/',  
  15.   formatNumber(datum.getDate()),  
  16.   ' ',  
  17.   formatNumber(datum.getHours()),  
  18.   ':',  
  19.   formatNumber(datum.getMinutes()),  
  20.   ':',  
  21.   formatNumber(datum.getSeconds())  
  22. ].join('');  
Ekkor a format valahogy így néz ki:
2009/07/28 19:07:19
2

köszi

mokat · 2009. Júl. 29. (Sze), 16.32
találtam egy ilyet is:
var myDate = new Date( unixtimestamp*1000);
document.write(myDate.toLocaleString());

csak ezzel az a baj, hogy ha felesleges "decimálisod" van akkor rossz értéket ad, ezért komplexebb és tetszetősebb a Te megoldásod.
Sajnos javascripthez nem sokat konyítok, így a te megoldásodhoz lenne 1 kérdésem:
a unixTimetamp helyére kell ugye magát az értéket pakolni, de a kiíratása hogy megy végbe?
Előre is köszi a vételen türelmet :)

U.I.: megoldottam ugyan javascriptben slice() fv-el:

var myDate = new Date( (unixtimestamp.slice(0,10))*1000);
document.write(myDate.toLocaleString());

rövidebb :)