나는이 시간대를 "-07 : 00"으로하고 "+05 : 00"으로 변환하려고합니다.JavaScript에서 타임 스탬프를 다른 시간대로 변환
"hours": [
{
"from": "11:00",
"to": "21:00",
"dayOfWeek": "MONDAY"
},
{
"from": "11:00",
"to": "21:00",
"dayOfWeek": "TUESDAY"
},
{
"from": "11:00",
"to": "21:00",
"dayOfWeek": "WEDNESDAY"
},
{
"from": "11:00",
"to": "21:00",
"dayOfWeek": "THURSDAY"
},
{
"from": "11:00",
"to": "21:00",
"dayOfWeek": "FRIDAY"
}
]
moment.js과 같은 라이브러리를 사용하여 효율적으로 수행하는 방법은 무엇입니까? 나는 방법에 종사했지만 그것이 파에 미치지 못합니다.
function formatDates(hoursList, shopDate, userDate){
var moment = require('moment');
var selectedDateText = "";
var convertedDateList = [];
for (var x = 0; x < hoursList.length; x++) {
var fromDate = shopDate.clone();
var fromMoment = moment(fromDate.format(), "YYYY-MM-DD HH:mm Z");
var fromTime = fromMoment.utcOffset(userDate.utcOffset());
fromTime.hours(parseInt(hoursList[x].from.split(":")[0]));
fromTime.minutes(parseInt(hoursList[x].from.split(":")[1]));
fromTime.seconds(0);
fromTime.milliseconds(0);
console.log(fromTime.format());
var toDate = shopDate.clone();
var toMoment = moment(toDate.format(), "YYYY-MM-DD HH:mm Z");
var toTime = toMoment.utcOffset(userDate.utcOffset());
toTime.hours(parseInt(hoursList[x].to.split(":")[0]));
toTime.minutes(parseInt(hoursList[x].to.split(":")[1]));
toTime.seconds(0);
toTime.milliseconds(0);
console.log(toTime.format());
var initialDay = {
"from": "",
"to": "",
"dayOfWeek": ""
};
initialDay.dayOfWeek = fromTime.format("dddd").toUpperCase();
initialDay.from = fromTime.format("HH:mm");
if (toTime.format("DDD") != fromTime.format("DDD")) {
var secondaryDay = {
"from": "",
"to": "",
"dayOfWeek": ""
};
initialDay.to = "24:00";
secondaryDay.dayOfWeek = toTime.format("dddd").toUpperCase();
secondaryDay.from = "00:00";
secondaryDay.to = toTime.format("HH:mm");
convertedDateList.push(secondaryDay);
} else {
initialDay.to = toTime.format("HH:mm");
}
convertedDateList.push(initialDay);
}
console.log(convertedDateList);
return selectedDateText;
}
주요 문제는 변환 된 시간 스탬프가 2 일마다 달라질 수 있다는 것입니다. 따라서 코드의 초기 및 2 차 요일. 예 : 약 6 시간이 지나면 두 시간으로 나뉘며 월요일 오후 9 시부 터 오후 12 시까 지 화요일 오전 12 시부 터 오전 3 시까 지 추가되어야합니다. 시간이 모두 7 일 및 며칠 인 인스턴스의 경우 전환이 12AM - 3AM 및 9PM에서 12PM까지 걸리는 경우조차도 더 까다 롭습니다.
이 문제를 올바르게 해결하려면 어떻게해야합니까?
감사합니다. 시간대 관련된 잠시
이궁을 찾아주세요! 시간대가 없으면 지저분한 입력을해서 죄송합니다. 아야. 이 얼마나 엉망 이죠. 'dayOfWeek'는 무엇을 참조할까요? 시작 시간 또는 종료 시간? 입력 형식을 변경할 수 있습니까? 왜냐하면 문제가 사라지기 때문입니다. –
@RayToal 기본적으로 상점 영업 시간과 같습니다. "dayOfWeek"은 열리는 날을 나타냅니다. 일부 상점은 특정 일에만 영업합니다. –
알겠습니다. 현지 시간입니다. dayOfWeek를 사용하여 시작 시간을 참조 할 수 있습니까? –