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:

<html>
<head>
<script type="text/javascript" src="loadxmldoc.js"></script>
</head>
<body>
<script type="text/javascript">
xmlDoc=loadXMLDoc("abc.xml");


x=xmlDoc.getElementsByTagName("receivedOctets");
y=xmlDoc.getElementsByTagName("timeCaptured");
z=xmlDoc.getElementsByTagName("monitoredObjectSiteId");

document.write("<table border='1'> <th>Érték</th><th>Mikor</th><th>Melyik</th>");

for (i=0;i<x.length;i++)

{
document.write("<tr><td>");
document.write(x[i].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(y[i].childNodes[0].nodeValue);
document.write("</td><td>");
document.write(z[i].childNodes[0].nodeValue);
document.write("</td></tr/>");
}
document.write("</table>");


</script>
</body>
</html>
köszi előre is!
 
1

Date

Poetro · 2009. Júl. 28. (K), 19.02
A Date használatával:
var datum = new Date(unixTimestamp * 1000);
function formatNumber(num, decimals) {
  decimals = decimals || 2;
  var number = new String(num);
  while (number.length < decimals) {
    number = '0'+ number;
  }
  return number;
}
var format = [
  datum.getFullYear(),
  '/',
  formatNumber(datum.getMonth()+1),
  '/',
  formatNumber(datum.getDate()),
  ' ',
  formatNumber(datum.getHours()),
  ':',
  formatNumber(datum.getMinutes()),
  ':',
  formatNumber(datum.getSeconds())
].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 :)