세분화 된 페이스 북 통계 API에서 데이터를 요청하고 있습니다. 예를 들어 좋아하는 것을 예로 들어 보겠습니다. PAGEID/insights/page_fan_adds_unique/day
end_time 타임 스탬프를 날짜로 올바르게 변환하는 방법
응답은 다음과 같습니다 : 내 요청에 간다
{
"data": [
{
"id": "PAGEID/insights/page_fan_adds_unique/day",
"name": "page_fan_adds_unique",
"period": "day",
"values": [
{
"value": 3,
"end_time": "2014-08-29T07:00:00+0000"
},
{
"value": 4,
"end_time": "2014-08-30T07:00:00+0000"
},
{
"value": 1,
"end_time": "2014-08-31T07:00:00+0000"
}
],
"title": "Daily New Likes",
"description": "Daily: The number of new people who have liked your Page (Unique Users)"
}
]
}
문제는 페이스 북에 의해 반환 된 end_time
값이 태평양 표준시 자정에 대한 타임 스탬프가 문제의 하루의 끝에 있다는 것입니다. 따라서 타임 스탬프가 2014-08-31T07:00:00+0000
인 행은 실제로 2014-08-30 (즉 consistent with Facebook Insights charts)에 대한 데이터를 표시합니다.
내가 원하는 것은 각 데이터 행의 타임 스탬프를 적절한 날짜로 변환하는 것입니다. 내 서버가 CET에 있기 때문에 가장 쉬운 방법은 FB에서 반환 한 타임 스탬프에서 10 시간을 뺀 것입니다. (그래서 23 시가 내 타임 존에 있음) 거기에 제가 가지고 있지만 분명히 좋은 해결책은 아닙니다. .
for(var i=0,j=rows.length;i<j;i++) {
time = rows[i].end_time;
date = moment(time).subtract("hours", 10).format("YYYY-MM-DD");
}
Moment.js를 올바르게 활용하려면 어떻게해야합니까?
맞아요, 태평양 표준시가 아니라 태평양 표준시입니다. 모든 것이 나에게 혼란스러워. 여전히 올바른 날짜를 얻으려면'zone (7) '이 기술적으로 다음 날인 자정을 주므로 한 시간 (또는 몇 분 또는 그 이상)을 빼야합니다. – jkondratowicz
예, 00:00는 하루가 시작되는 날의 자정을 나타내므로 목적에 맞는 전날이 필요할 경우입니다. 좋은 캐치. 나는 하루를'.subtract (1, 'day')' –