moment().fromNow();
ํ์์ ์ค๋ช
ํ๊ธฐ ์ํด ํ๋์ ๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํฉ๋๋ค.
์: 1 hour
, 1 day
, 1 week
๋ฐ๋. 1h
, 1d
, 1w
์ฐพ๊ณ ์์ต๋๋ค.
๊ทธ๋ฐ ๋จ์ผ ๋ฌธ์ ํ์์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ด๊ฐ ๋์น ์ค์ ์ ๋๊น?
์ง๊ธ์ ๋ชจ๋ฉํธ์ ์ด ๊ธฐ๋ฅ์ด ์๋ ๊ฒ ๊ฐ์์.
http://momentjs.com/docs/#/displaying/fromnow/๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค
์ค์ ๋ก ์ด๋ฅผ ์ํํ๊ธฐ ์ํด ์์ฒด ํจ์๋ฅผ ์์ฑํ ์ ์์ผ๋ฏ๋ก ์๊ฐ์ด ์ค์ ๋ก ์ง์ํด์ผ ํ๋์ง ํ์คํ์ง ์์ต๋๋ค.
ํ ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์ง๋ฌธ์ moment๊ฐ ์ด ๊ธฐ๋ฅ์ ์ง์ํ๋ค๋ฉด "๋ช ์ด"์ ๋ํ ์งง์ ๋ ์ด๋ธ์ ๋ฌด์์
๋๊น?
"s"(์: 5์ด, 35์ด)์ด์ง๋ง ์ด ๋จ์๋ก ํ์๋ฉ๋๋ค. ํ๋ก์ ํธ์์ ์๋์ ๋ถ๋์ฐ์ ์ฒ๋ฆฌํฉ๋๋ค.
๋ก์ผ์ผ์ ํตํด ์ด๊ฒ์ ์ค์ ํ ์ ์์ต๋๋ค.
moment.locale('en', {
relativeTime: {
future: 'in %s',
past: '%s ago',
s: 'seconds',
ss: '%ss',
m: 'a minute',
mm: '%dm',
h: 'an hour',
hh: '%dh',
d: 'a day',
dd: '%dd',
M: 'a month',
MM: '%dM',
y: 'a year',
yy: '%dY'
}
});
์, ๋ก์ผ์ผ ์ค์ ์ด ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ฐธ์กฐ: http://momentjs.com/docs/#/customization/relative -time/
์ด ๊ธฐ๋ฅ์ด ํต์ฌ ์ฝ๋๋ฒ ์ด์ค์์ ๊ตฌํ๋๋ ๊ฒ์ ๋ณด๊ณ ์ถ์ต๋๋ค. ์ด ์ธ์คํ๊ทธ๋จ ์คํ์ผ์ ์งง์ ์ฝ์ด๋ ์์ฆ ๊ฝค ํํฉ๋๋ค.
์, ๋์ํฉ๋๋ค. ํ๋์ ์ธ์ด์ ๋ง๊ฒ ์ฌ์ฉ์ ์ ์ํ๋ ๊ฒ์ ๋งค์ฐ ์ฝ์ต๋๋ค. ํ์ง๋ง... ์ฑ์ด ์ฌ๋ฌ ๋ก์ผ์ผ์ ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ ๊ฐ์๊ธฐ ์ง์ํ๋ ๋ชจ๋ ์ธ์ด๋ก ์ฑ์ ์ฌ์ฉ์ ์ ์ํด์ผ ํฉ๋๋ค. ๋ชจ๋ฉํธ ์ปค๋ฎค๋ํฐ์ ํ์ด ๊ทธ ๋ถ๋ด์ ์ง์ด์ง๊ฒ ํ๋ฉด ์ ๋ง ์ข์ ๊ฒ ๊ฐ์์.
์ฌ๋ฌ ๋ก์ผ์ผ์ ์ง์ํด์ผ ํ๋ ์ฑ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ๋ถ์์ ์งง์ ํ์๊ณผ ๊ธด ํ์์ ๋ชจ๋ ํ์ํด์ผ ํ๋ ์ฑ๋ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค. ์ง๊ธ ๋น์ฅ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
+1 - ์๊ฐ์ ์ด๋ ๊ฒ ๋ฉ์ง๊ฒ ๋ง๋ ๊ฑด
+1(& ๋ฒํ), ์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋ ๊ฒ๋ ๋ณด๊ณ ์ถ์ต๋๋ค.
+1 - ์ง๊ธ ์ฐพ๊ณ ์์ต๋๋ค.
:+1:
๐
+1
+99999999999999
+1ํด์ฃผ์ธ์
+1
var timeSince = function(date) {
if (typeof date !== 'object') {
date = new Date(date);
}
var seconds = Math.floor((new Date() - date) / 1000);
var intervalType;
var interval = Math.floor(seconds / 31536000);
if (interval >= 1) {
intervalType = 'y';
} else {
interval = Math.floor(seconds / 2592000);
if (interval >= 1) {
intervalType = 'm';
} else {
interval = Math.floor(seconds / 86400);
if (interval >= 1) {
intervalType = 'd';
} else {
interval = Math.floor(seconds / 3600);
if (interval >= 1) {
intervalType = "h";
} else {
interval = Math.floor(seconds / 60);
if (interval >= 1) {
intervalType = "m";
} else {
interval = seconds;
intervalType = "now";
}
}
}
}
}
if (interval > 1 || interval === 0) {
intervalType += 's';
}
return interval + ' ' + intervalType;
};
+1 ํ์ํฉ๋๋ค
@dlindahl ๋ฉ์ง ์๋ฃจ์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ด์ ๋ ์ง ํ์์ ๋ํ ๋ก์ปฌ ๋ณ๊ฒฝ ์ฌํญ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๋ค.
๋๋ ์์ด์ ๋ ์ผ์ด๋ฅผ ์ํด ์ด๊ฒ์ ํ๋ค:
moment.updateLocale('en', {
relativeTime: {
future : 'in %s',
past : '%s ago',
s : function (number, withoutSuffix) {
return withoutSuffix ? 'now' : 'a few seconds';
},
m : '1m',
mm : '%dm',
h : '1h',
hh : '%dh',
d : '1d',
dd : '%dd',
M : '1mth',
MM : '%dmth',
y : '1y',
yy : '%dy'
}
});
moment.updateLocale('de', {
relativeTime: {
future : 'in %s',
past : 'vor %s',
s : function (number, withoutSuffix) {
return withoutSuffix ? 'jetzt' : 'ein paar Sekunden';
},
m : '1min',
mm : '%dmin',
h : '1Std',
hh : '%dStd',
d : '1T',
dd : '%dT',
M : '1M',
MM : '%dM',
y : '1J',
yy : '%dJ'
}
});
๋ ๋ฒ์งธ ๊ธฐ๋ฅ์ ๊ฐ๋ +1; ์งง์ + ๊ธด ํ์์ ๋ชจ๋ ์ฌ์ฉํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ์์ด๋ก ์์ ๋ํด 'mo'๋ฅผ ์ ์ํ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด 1์ผ ๋๋ 1๋ ๋๋ ํ์์ ์ถ๊ฐํ๊ธฐ ์ํ ๋ด ์๋ฃจ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
let time=moment(re.date).fromNow(true);
let format=this.formatDate(time);
formatDate(date){
let strDate=date.split(" ");
let format="";
if(strDate[0]=="un"||strDate[0]=="a"){
strDate[0]="1";
format=strDate[0]+strDate[1][0];
return format
}
format=strDate[0]+strDate[1][0];
return format
}
์๋ฅผ ๋ค์ด 1d, 3y, 1m ๋ฐํ
๋ฌธ์ ์ธ์ฌ
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ก์ผ์ผ์ ํตํด ์ด๊ฒ์ ์ค์ ํ ์ ์์ต๋๋ค.