Freitag, 31. August 2012

Zeitberechnung

Heute habe ich mal wieder Feuer gemacht! Ein kleiner Schnipsel Code welcher ermöglicht zB unter JavaScript über die angabe von Sekunden eine genaue Angabe zu machen was dieser Wert in Sekunden/Minuten/Stunden/Tage/Wochen/Monate/Jahre ist:

var elapsed = (((((ts) / 31536000) | 0) > 0) ? (((ts) / 31536000) | 0) + " Jahre " : "") +
((((((ts) / 2592000) % 12) | 0) > 0) ? ((((ts) / 2592000) % 12) | 0) + " Monate " : "") +
((((((ts) / 604800) % 4) | 0) > 0) ? ((((ts) / 604800) % 4) | 0) + " Wochen " : "") +
((((((ts) / 86400) % 7) | 0) > 0) ? ((((ts) / 86400) % 7) | 0) + " Tage " : "") +
((((((ts) / 3600) % 24) | 0) > 0) ? ((((ts) / 3600) % 24) | 0) + " Std " : "") +
((((((ts) / 60) % 60) | 0) > 0) ? ((((ts) / 60) % 60) | 0) + " Min " : "") +
((((((ts)) % 60) > 0) | 0) ? ((((ts)) % 60) | 0) + " Sek" : "");

dies lässt sicht natürlich auch auf jede Andere Sprache anwenden. Der Knackpunkt an diesem Schnipsel ist, dass es durch das Bitweise "ODER" mit "0" ein cast auf ein Integer gibt.