moment().fromNow()๋ "๋ช ์ด ์ "์ ๋ฐํํฉ๋๋ค.
์ "์ง๊ธ"์ด ์๋๊ฐ์?
moment.langData('en').relativeTime.s = "just now"
์ ๊ฐ์ด ์ฌ์ฉ์ ์ ์ํ ์ ์์ง๋ง ์ ๋ฏธ์ฌ๊ฐ ์์ผ๋ฉด ์ด์ํ๊ฒ ๋ณด์ผ ์ ์์ต๋๋ค.
์ํ๋ ๊ฒฝ์ฐ fromNow
๋ํํ๋ ๋ฉ์๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
moment.fn.fromNowOrNow = function (a) {
if (Math.abs(moment().diff(this)) < 1000) { // 1000 milliseconds
return 'just now';
}
return this.fromNow(a);
}
๊ฐ์ฌํฉ๋๋ค ํ!
์ฝ๋ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. "๋ช ์ด ์ "์ ๊ด์ฐฎ์ง๋ง ์๋ฒ์ ํด๋ผ์ด์ธํธ ์๊ณ๊ฐ ๋๊ธฐํ๋์ด ์์ง ์๊ธฐ ๋๋ฌธ์ ์์ ์ ์๋ฃํ ํ "๋ช ์ด ํ"๋ผ๋ ๋ฉ์์ง๋ ํ์๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ ๊ฒฝ์ฐ ๋ชจ๋ "์ง๊ธ ๋ฐ๋ก"๋ฅผ ํ์ํ๋ ๊ฒ์ด ์๋ฏธ๊ฐ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
์, ์์ ์ฝ๋๋ ํ์ฌ ์๊ฐ ์ ํ 1์ด์ธ ๊ฒฝ์ฐ "์ง๊ธ ๋ฐ๋ก"๋ฅผ ํ์ํ๋ฏ๋ก ํด๋น ๋ฒ์๋ฅผ ๋๋ฆฌ๋ ค๋ฉด ๋ฐ๋ฆฌ์ด ์๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๋ฉ๋๋ค.
moment.fn.fromNowOrNow = function (a) {
if (Math.abs(moment().diff(this)) < 25000) { // 25 seconds before or after now
return 'just now';
}
return this.fromNow(a);
}
๊ฐ์ฌํฉ๋๋ค. ์์์ต๋๋ค. ํ์ง๋ง ๊ณผ๊ฑฐ ์ด๋ฒคํธ์ ๋ํ "๋ช ์ด ํ"๋ฅผ ๋ณด๋ ๊ฒ์ด ๋๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ ๋ฒ๊ทธ๋ก ๋ณด์ด๋ ๊ฒ์ ๊ฐ์ํ ๋ '์ง๊ธ ๋ง'์ด ๊ธฐ๋ณธ ๋์์ด ๋๋ ๊ฒ์ด ์๋ฏธ๊ฐ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
'์ง๊ธ ๋ง'์ด ๊ธฐ๋ณธ ๋์์ด ๋๋๋ก +1ํ์ญ์์ค!
์๊ณ๊ฐ ๋๊ธฐํ๋์ง ์์ผ๋ฉด ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ๊ณ ์น ๊ณณ์ด ์๊ฐ์ ์ธ๊ฐํ ๋ฐฉ์์ด ์๋๊ฐ ์ถ๋ค. ๊ทธ๊ฒ์ ์๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฏธ๋์ ์๊ฐ์ ํ์ํ๋๋ก ์ง์ํ๊ณ ๊ทธ๋ ๊ฒ ํฉ๋๋ค.
"๋ช ์ด ์ " ๋ฌธ์์ด์ "์ง๊ธ ๋ง"์ผ๋ก ๋ณ๊ฒฝํ๊ณ ์ถ์ง๋ง "๋ช ์ด ํ"๋ ๊ทธ๋๋ก ๋๋ ค๋ฉด ๋ค๋ฅธ ๋ฌธ์ ์ ๋๋ค. ๋ํ ๋ชจ๋ ๋ฒ์ญ์ ์์ ํด์ผ ํฉ๋๋ค ;-)
moment.langData('en').relativeTime.s = "์ ๋"; ๋ด ๋ฌธ์ # 555์ ๋ํ ์์ ์ฌํญ์ด์์ต๋๋ค.
ํ ๊ฐ์ฌํฉ๋๋ค!
๋ธ๋ผ์ฐ์ ์์ ์๋ฒ ์์ฑ ํ์์คํฌํ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ ๋ ์๊ณ๋ ๊ฑฐ์ ํญ์ ๋๊ธฐํ๋์ง ์์ต๋๋ค. ์ด๊ฒ์ด moment.js์ ๋๋ฌธ ์ฌ์ฉ ์ฌ๋ก์ ๋๊น?
๋๋ ๋ช ์ด์ ์ก์ค๋ก ๊ฐ์ ์ถ๊ฐํ์ฌ ์ด๋ค ๋ฐฉํฅ์ผ๋ก๋ ๊ทธ ๊ฐ๊ฒฉ๋ณด๋ค ์์ ๊ฐ๊ฒฉ์ด "์ง๊ธ ๋ง" ๋๋ ์ด์ ์ ์ฌํ ๊ฒ์ ์์ฑํ๋ ๊ฒ์ด ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด ๊ฐ์ ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์๋ค๋ฉด ๋ชจ๋ ์ฌ๋์ ๊ธฐ๋์ ๋ง์ถ ์ ์์ต๋๋ค. ๊ฐ 0์ ํ์ฌ ๋์ , 0๋ณด๋ค ํฐ ๊ฐ์ ๋ธ๋ผ์ฐ์ /์๋ฒ ์คํ์ ๋๋ ์ด์ ์ ์ฌํ ๊ฒ๊ณผ ์ธ์ฐ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
์ด๋ป๊ฒ ์๊ฐํ๋์?
๊ตฌ์ฑ ๊ฐ๋ฅํ "์ก์ค๋ก ๊ฐ"์ ์ข์ ์๊ฐ์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.
@ejain ์ ๋ฌธ์ ์ ๋ํ ๋ ๊ฐ๋จํ ํด๊ฒฐ์ฑ ์ ๊ทธ๊ฒ์ ํ์ํ๊ธฐ ์ ์ ์๊ฐ์ ์ ๊ณฑํ๋ ๊ฒ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฏธ๋์ ์์ ์ด ์ค์ ๋ก ๊ฐ๋ฅํ์ง ์์์ผ ํฉ๋๋ค.
var now = moment();
var mom = momentFromServer < now ? now : momentFromServer;
mom.fromNow(); //=> a few seconds ago
์ด๊ฒ์ด Moment์ ์ผ๋ถ๊ฐ ๋์ด์ผ ํ๋ ๊ฒฝ์ฐ fromNow()
๋ํ ๋ถ์ธ ์ธ์๋ก ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋๋ ๋ ๋์ ๋ฐฉ๋ฒ์ fromNow๊ฐ fromNow({withSuffix: false, forcePast: true})
์ ๊ฐ์ (์ญํธํ) ์ต์
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋๋ก ํ๋ ๊ฒ์
๋๋ค.
@icambron : ์ ํจํ ๋ฏธ๋ ์๊ฐ์ด ์๋ค๊ณ ํ์ ํ ์ ์๋ค๋ฉด ํ๋ฅญํ ์๋ฃจ์ ์ ๋๋ค.
@timrwood ์กฐ์ธ ๊ฐ์ฌํฉ๋๋ค
ํด๋น ๋ฌธ์์ด์ ๊ต์ฒดํ๋ ค๋ ๊ฒฝ์ฐ ์ค์ ๋ก๋ moment.langData('en')._relativeTime.s = "just now"
์
๋๋ค.
๋๋ ๋ ์ง(์๊ฐ ์ ๋ณด ์์ด)๋ฅผ ์ธ๊ฐํํ๊ณ ์์ผ๋ฏ๋ก _relativeTime.s๋ฅผ ๋ชจ๋ ๋ก์ผ์ผ์ ๋ํด "์ค๋"์ ํด๋นํ๋ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ด ๋ด ์๋ฃจ์ ์ด์์ต๋๋ค.
fromNow(true)๋ "2๋ถ ์ ", "2์๊ฐ ์ ", "๋ช ์ด ์ "์ ๋ฐํํฉ๋๋ค.
"2m" ๋๋ "2h" ๋๋ "2s" ๋๋ "2d"์ ๊ฐ์ ๊ฒ์ ์ด๋ป๊ฒ ํ ์ ์์ต๋๊น?
@puneet94 https://momentjs.com/docs/#/customization/relative -time/์ผ๋ก ๋ก์ผ์ผ ๋ฌธ์์ด์ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
FWIW, past
๋ํ ํจ์๋ฅผ ์ง์ ํ์ฌ 2.12.0์ ์ฌ์ฉํ์ฌ "์ง๊ธ ๋ง"์ ์ ์ฉํ ์ ์์์ต๋๋ค.
moment.updateLocale('en', {
relativeTime : {
past: function(input) {
return input === 'just now'
? input
: input + ' ago'
},
s : 'just now',
future: "in %s",
ss : '%d seconds',
m: "a minute",
mm: "%d minutes",
h: "an hour",
hh: "%d hours",
d: "a day",
dd: "%d days",
M: "a month",
MM: "%d months",
y: "a year",
yy: "%d years"
}
});
@richardszalay ์ด๋ค ๋ ์ง ํ์์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ์ด๋ป๊ฒ ์ ์ฉํฉ๋๊น?
๋ ์ง ๋ฌธ์์ด ์๊ฐ = 1560955417474๊ฐ ์์ต๋๋ค.
ํ
์คํธ ํ๊ทธ ๋ด์ ํ์ํ๊ณ ์ถ์ต๋๋ค.
<Text>{time}</Text>
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
moment.langData('en').relativeTime.s = "just now"
์ ๊ฐ์ด ์ฌ์ฉ์ ์ ์ํ ์ ์์ง๋ง ์ ๋ฏธ์ฌ๊ฐ ์์ผ๋ฉด ์ด์ํ๊ฒ ๋ณด์ผ ์ ์์ต๋๋ค.์ํ๋ ๊ฒฝ์ฐ
fromNow
๋ํํ๋ ๋ฉ์๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.