Hirdetés

Új hozzászólás Aktív témák

  • Mr Dini

    addikt

    válasz Mr Dini #5601 üzenetére

    Helyesbítek! A helyes dátum minta a hónap-nap-év, sajnos a Convert nem toleráns. Ha máshogy van megadva a dátum, már nem tud vele mit kezdeni.

    De, hogy ne maradj JS nélkül, írtam Neked a linkelt logika alapján egy példakódot :D:

    ///Mr Dini's Day Counter
    startDate = "2017. 02. 03."
    today = global('%DATE')
    startDate = prompt('Írd be a kezdés idejét:',startDate);

    startDate = startDate.replace(/(.*[^.])+\. (.*[^.])+\. (.*[^.])+./,"$2-$3-$1").replace(/0([0-9]+\-)/g,'$1');
    startDateSec = convert(startDate,"datetimeToSec");
    todaySec = convert(today,"datetimeToSec");
    flash('Az azóta eltelt napok száma: '+Math.floor((todaySec-startDateSec)/24/60/60));

    Tulajdonképpen a kódom lényege a replace, ami átalakítja a dátumot év. hónap. nap.-ról a megfelelő dátumra.

    Megjegyzések:
    1. Ha nem szeretnél prompt-ot, kommenteld ki azt a sort! ;)
    2. Ez a kódrész: .replace(/0([0-9]+\-)/g,'$1') nyugodtan törölhető. Csak, mivel nem akart működni, így azt hittem, a 0-val kezdődő hónapokat, plusz napokat át kell alakítani úgy, hogy ne 0-van kezdődjön. De, mint kiderült, más volt a gond. Viszont benthagytam, mert így 100% ugyanúgy néz ki, mint a Taskeres DATE változó.
    3. A végén a flashnél betettem egy Math.floor-t, azaz egy lefele kerekítést, mert azt vettem észre, hogy régi időpontoknál vannak tizedesjegyek is.

    Használd egészséggel és ha valami nem világos, kérdezz bátran! ;)

Új hozzászólás Aktív témák