Loading...
+ Нов въпрос
ValeriChernev avatar ValeriChernev 4 Точки

{Programming Basics] JavaScript - 13. 1000 days after birth

Здравейте

Слагам този код в Съдията и ми дава 20/100 точки.

https://pastebin.com/EUhknJjL

суров текст

function thousandDaysOnEarth([dateAsString]) {
    let dateParts = dateAsString.split("-")
    let year = Number(dateParts[2])
    let month = Number(dateParts[1])
    let day = Number(dateParts[0])
    
     
    let date = new Date(year, month, day+1001)    
    console.log(date.getDate() + "-" + date.getMonth() + "-" + date.getFullYear())
  
}

//thousandDaysOnEarth(['25-02-1995'])

 

Да няма някаква аритметична прогресия на дните защото на другите дати бъркам с един два дни

Ако не е на място поста съжалявам

Тагове:
0
Programming Basics 05/06/2017 21:01:21
aggeorgiev avatar aggeorgiev 326 Точки

Добави 999 дена вместо 1001

Най - добре потърси библиотека , която работи с време. Така ще си сигурен , че високосните години ще се смятат коректно.

1
03/06/2017 00:05:46
ValeriChernev avatar ValeriChernev 4 Точки

Опитах с 999 и 1001 нищо не става

Опитах и с време минути секунди часове.

Бяга ми времето с 1 един или 2. На това решение получавам 40%

https://pastebin.com/WQVhjkUR

 

Какви имаш предивд билиотека с време?

0
JivkoJelev avatar JivkoJelev 235 Точки

JavaScript Като цяло се е*ава с дейт форматите , не знам защо , така и не го оправиха дори и в новия ecmaScript.Ето ти едно мое решение което ми дава 100 / 100 точки.

  1. function thousandDaysOnEarth([dateAsString]) {
        var [year,month,day] = dateAsString.split('-');
        month = month.split('').filter(w=> w!= 0).map(Number).join('');
        month = month - 1;
        var myDate = new Date(day,month,year);
        myDate.setDate(myDate.getDate() + 999);
        var[days,months,years] = [myDate.getDate(),myDate.getMonth()+1,myDate.getFullYear()];
        days < 10 ? days="0"+days : days = days
        months < 10 ? months="0" + months: months = months
        return days+"-"+months+"-"+years;
    }
    //console.log(thousandDaysOnEarth(['25-02-1995']));
0
17/06/2017 08:57:26
ValeriChernev avatar ValeriChernev 4 Точки

Благодаря Живко Желев,

Даде 100/100

До колкото разбирам вадиш един месе и после слагаш един месец. Не виждам логиката. Малко ми е сложен твоя код ще трябва да го разуча малко повече за да го разбера на 100%.

Сигурно за тази задача вече съм отделил не по-малко от 6 часа кодене. Благодая вече ще спа спокойно.

 

Агге не ми помага твоето решение защото ти импортваш някакви библиотеки. Не съм сигурен дали ДжаваСкрипт има същите, но благодаря. Това поне ми показва че тази задача отнема по-малко кодене с Джава отколкото с ДжаваСкрипт.

1
JivkoJelev avatar JivkoJelev 235 Точки

Той ти е дал код на Джава.Като цяло моето решение е малко по-адванс.Правилно си тръгнал да решаваш задачата , но както ти казах в JavaScript-a date форматите дават отклонения и са леко бъгави.Все пак задачата е с 2 звезди трудност и се очаква да е по-трудничка от останалите.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.