Moment: <moment minutes="" ago="">.from(moment()) // '1μ‹œκ°„ μ „'을 λ°˜ν™˜ν•©λ‹ˆλ‹€.</moment>

에 λ§Œλ“  2014λ…„ 10μ›” 07일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: moment/moment

ν›Œλ₯­ν•œ λ„μ„œκ΄€μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€.

λ‚΄κ°€ κ²ͺ은 ν•œ 가지 λ¬Έμ œλŠ” from()이 지속 μ‹œκ°„ >= 45뢄을 μ΅œλŒ€ 1μ‹œκ°„μœΌλ‘œ λ°˜μ˜¬λ¦Όν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ‹€λ₯Έ λ‹¨μœ„(초, 일 λ“±)도 λ°˜μ˜¬λ¦Όλ©λ‹ˆλ‹€. 우리의 μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ μš°λ¦¬λŠ” 이것보닀 쑰금 더 μ •ν™•ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. μ•„λž˜ λ‚˜μ—΄λœ ν•¨μˆ˜κ°€ λ°˜μ˜¬λ¦Όμ„ μˆ˜ν–‰ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μ„ νƒμ μœΌλ‘œ λ°˜μ˜¬λ¦Όμ„ μ œκ±°ν•˜λŠ” μ μ ˆν•œ μ†”λ£¨μ…˜μ€ λ¬΄μ—‡μž…λ‹ˆκΉŒ? 감사 ν•΄μš”!

    function relativeTime(milliseconds, withoutSuffix, lang) {
        var seconds = round(Math.abs(milliseconds) / 1000),
            minutes = round(seconds / 60),
            hours = round(minutes / 60),
            days = round(hours / 24),
            years = round(days / 365),
            args = seconds < 45 && ['s', seconds] ||
                minutes === 1 && ['m'] ||
                minutes < 45 && ['mm', minutes] ||
                hours === 1 && ['h'] ||
                hours < 22 && ['hh', hours] ||
                days === 1 && ['d'] ||
                days <= 25 && ['dd', days] ||
                days <= 45 && ['M'] ||
                days < 345 && ['MM', round(days / 30)] ||
                years === 1 && ['y'] || ['yy', years];
        args[2] = withoutSuffix;
        args[3] = milliseconds > 0;
        args[4] = lang;
        return substituteTimeAgo.apply({}, args);
    }

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μ—¬κΈ° λ¬Έμ„œ μ—μ„œ λ³Ό 수 μžˆλ“―μ΄ μ‹€μ œλ‘œ μ„€μ •ν•˜λ €λŠ” μ‹œκ°„ μž„κ³„κ°’μ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

항상 전체 μ‹œκ°„μ„ ν‘œμ‹œν•˜λ €λ©΄ μž„κ³„κ°’μ„ 더 μ •ν™•ν•˜κ²Œ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

// Set thresholds to be at their "max" value
moment.relativeTimeThreshold('s', 59);
moment.relativeTimeThreshold('m', 59);
moment.relativeTimeThreshold('h', 23);
moment.relativeTimeThreshold('d', 28);
moment.relativeTimeThreshold('M', 12);

λͺ¨λ“  4 λŒ“κΈ€

특히 문제λ₯Ό μ„€λͺ…ν•˜κΈ° μœ„ν•΄ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

moment().subtract(45, 'minutes').from(moment())

μ—¬κΈ° λ¬Έμ„œ μ—μ„œ λ³Ό 수 μžˆλ“―μ΄ μ‹€μ œλ‘œ μ„€μ •ν•˜λ €λŠ” μ‹œκ°„ μž„κ³„κ°’μ„ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

항상 전체 μ‹œκ°„μ„ ν‘œμ‹œν•˜λ €λ©΄ μž„κ³„κ°’μ„ 더 μ •ν™•ν•˜κ²Œ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

// Set thresholds to be at their "max" value
moment.relativeTimeThreshold('s', 59);
moment.relativeTimeThreshold('m', 59);
moment.relativeTimeThreshold('h', 23);
moment.relativeTimeThreshold('d', 28);
moment.relativeTimeThreshold('M', 12);

κ°μ‚¬ν•©λ‹ˆλ‹€. 75뢄을 '1μ‹œκ°„'이 μ•„λ‹Œ '1μ‹œκ°„ 15λΆ„'으둜 ν‘œμ‹œν•  수 μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ? 90λΆ„ λ™μ•ˆ 같은 질문 -> '2μ‹œκ°„'.

μ΄μƒμ μœΌλ‘œλŠ” λ¬Έμžμ—΄ 좜λ ₯에 κ°€μž₯ μ€‘μš”ν•œ 두 개의 연속 λ‹¨μœ„κ°€ ν‘œμ‹œλ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. λͺ‡ 가지 예:

  • 1μ‹œκ°„ 56λΆ„ 7초 -> '1μ‹œκ°„ 56λΆ„'
  • 4μ‹œκ°„ 56초 -> '4μ‹œκ°„'
  • 2일 56λΆ„ -> '이틀'
  • 2일 1μ‹œκ°„ 1λΆ„ -> '이틀 1μ‹œκ°„'

이 λ™μž‘μ΄ moment.js에 λ°”λžŒμ§ν•©λ‹ˆκΉŒ, μ•„λ‹ˆλ©΄ 라이브러리의 λŒ€μƒ μ‚¬μš© μ‚¬λ‘€μ—μ„œ λ„ˆλ¬΄ 많이 λ²—μ–΄λ‚˜ μžˆμŠ΅λ‹ˆκΉŒ?

이것은 κ·Έ 자체둜 맀우 λ³΅μž‘ν•œ 주제인 μ†Œμœ„ "지속 μ‹œκ°„ ν˜•μ‹"μž…λ‹ˆλ‹€. tl;dr μ½”μ–΄μ—μ„œ κ΅¬ν˜„λ˜μ§€ μ•Šμ€ κ²ƒμ΄μ§€λ§Œ 여기에 μˆ˜λ™μœΌλ‘œ λ˜λŠ” ν”ŒλŸ¬κ·ΈμΈμ„ μ‚¬μš©ν•˜μ—¬ μ›ν•˜λŠ” 것을 λ‹¬μ„±ν•˜λŠ” 방법이 μžˆμŠ΅λ‹ˆλ‹€. https://github.com/moment/moment/issues/1048을 μ½κ±°λ‚˜ 직접 https://github.com/jsmreese/moment-duration-format을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰