첫 번째 항목이 "예외"이고 다른 항목 (1-7)이 "day opentime : closetime"인 문자열 배열의 작업 시간을 표시하는 함수를 만들려고합니다. "영업 시간 시작일 함수가 잘못된 시간을 표시합니다
하지만 잘못된 영업 시간이 표시됩니다!
나는 객체에있는 데이터 중 하나를 보여
"created_at": "2012-01-03T13:31:53Z",
"updated_at": "2012-03-02T11:08:36Z",
"start_timestamp": 1325376000,
"exception_nl": "",
"exception_en": "",
"id": 447,
"end": "2012-12-31T00:00:00Z",
"enabled": true,
"start": "2012-01-01T00:00:00Z",
"season_openings": [
{
"endtime_timestamp": 946749600,
"created_at": "2012-01-03T13:31:53Z",
"endtime": "2000-01-01T18:00:00Z",
"closed": false,
"day_en": "Monday",
"updated_at": "2012-03-02T11:08:36Z",
"id": 3123,
"day": "Maandag",
"starttime": "2000-01-01T10:00:00Z",
"starttime_timestamp": 946720800
},
{
"endtime_timestamp": 946749600,
"created_at": "2012-01-03T13:31:53Z",
"endtime": "2000-01-01T18:00:00Z",
"closed": false,
"day_en": "Tuesday",
"updated_at": "2012-03-02T11:08:36Z",
"id": 3124,
"day": "Dinsdag",
"starttime": "2000-01-01T10:00:00Z",
"starttime_timestamp": 946720800
},
{
"endtime_timestamp": 946749600,
"created_at": "2012-01-03T13:31:53Z",
"endtime": "2000-01-01T18:00:00Z",
"closed": false,
"day_en": "Wednesday",
"updated_at": "2012-03-02T11:08:36Z",
"id": 3125,
"day": "Woensdag",
"starttime": "2000-01-01T10:00:00Z",
"starttime_timestamp": 946720800
},
{
"endtime_timestamp": 946749600,
"created_at": "2012-01-03T13:31:53Z",
"endtime": "2000-01-01T18:00:00Z",
"closed": false,
"day_en": "Thursday",
"updated_at": "2012-03-02T11:08:36Z",
"id": 3126,
"day": "Donderdag",
"starttime": "2000-01-01T10:00:00Z",
"starttime_timestamp": 946720800
},
{
"endtime_timestamp": 946749600,
"created_at": "2012-01-03T13:31:53Z",
"endtime": "2000-01-01T18:00:00Z",
"closed": false,
"day_en": "Friday",
"updated_at": "2012-03-02T11:08:36Z",
"id": 3127,
"day": "Vrijdag",
"starttime": "2000-01-01T10:00:00Z",
"starttime_timestamp": 946720800
},
{
"endtime_timestamp": 946749600,
"created_at": "2012-01-03T13:31:53Z",
"endtime": "2000-01-01T18:00:00Z",
"closed": false,
"day_en": "Saturday",
"updated_at": "2012-03-02T11:08:36Z",
"id": 3128,
"day": "Zaterdag",
"starttime": "2000-01-01T10:00:00Z",
"starttime_timestamp": 946720800
},
{
"endtime_timestamp": 946749600,
"created_at": "2012-01-03T13:31:53Z",
"endtime": "2000-01-01T18:00:00Z",
"closed": false,
"day_en": "Sunday",
"updated_at": "2012-03-02T11:08:36Z",
"id": 3129,
"day": "Zondag",
"starttime": "2000-01-01T10:00:00Z",
"starttime_timestamp": 946720800
}
할 수 있습니다 꽤 지우면 (이 경우 전체 년)에 openinghours이 유효한지 "시즌"다음 7 객체가 있다고 볼 것을 일을 표시하십시오. 시작 시간과 종료 시간은 필요한 시간입니다. 표준 날짜입니다. 일, 년, 달은 무의미합니다. 그래서 밖으로 작동, 네덜란드 인에 대한
07-25 10:46:17.720: I/openingstijden(31338): Maandag: 21:50 - 21:50
07-25 10:46:17.720: I/openingstijden(31338): Dinsdag: 21:50 - 21:50
07-25 10:46:17.720: I/openingstijden(31338): Woensdag: 21:50 - 21:50
07-25 10:46:17.720: I/openingstijden(31338): Donderdag: 21:50 - 21:50
07-25 10:46:17.720: I/openingstijden(31338): Vrijdag: 21:50 - 21:50
07-25 10:46:17.720: I/openingstijden(31338): Zaterdag: 21:50 - 21:50
07-25 10:46:17.720: I/openingstijden(31338): Zondag: 21:50 - 21:50
여기
(나는 아직 일을 하위 문자열하지 않았고, 미안 해요,하지만 월요일 ~ 일요일을 의미한다 : 나는이 코드를 실행하면
하지만, 내 출력은 괜찮음)
그러나 모든 시간이 잘못되었습니다. 나는 갑자기 21:50이 어떻게 나타나는지 전혀 모른다. 누구 아이디어? 당신은 당신의 코드에서
public String[] GetOpeningHours(JVenue venue, String language){
Calendar calendar = GregorianCalendar.getInstance(); // creates a new calendar instance
String[] oh= new String[8];
Date start,end;
JVenueSeasons seizoen = venue.venue_seasons.get(0); // get first, second ALWAYS enabled:false
if(language.equals("nld")){
oh[0]=seizoen.exception_nl; //exception eerste string uit array
for (int i=0; i<7;i++){
if(seizoen.season_openings.get(i).closed==true){
oh[(i+1)]= "gesloten";
}else{
start=seizoen.season_openings.get(i).starttime;
end=seizoen.season_openings.get(i).endtime;
calendar.setTime(start);
String starttijd= String.valueOf(calendar.get(Calendar.HOUR_OF_DAY))+":"+String.valueOf(calendar.get(Calendar.MINUTE));
calendar.setTime(end);
String eindtijd= String.valueOf(calendar.get(Calendar.HOUR_OF_DAY))+":"+String.valueOf(calendar.get(Calendar.MINUTE));
oh[(i+1)]= seizoen.season_openings.get(i).day.substring(0, 2)+ ": " + starttijd +" - "+eindtijd;
}
}
}else{
oh[0]=seizoen.exception_en; //exception eerste string uit array
for (int i=0; i<7;i++){
if(seizoen.season_openings.get(i).closed==true){
oh[(i+1)]= "closed";
}else{
start=seizoen.season_openings.get(i).starttime;
end=seizoen.season_openings.get(i).endtime;
calendar.setTime(start);
String starttijd= String.valueOf(calendar.get(Calendar.HOUR_OF_DAY))+":"+String.valueOf(calendar.get(Calendar.MINUTE));
calendar.setTime(end);
String eindtijd= String.valueOf(calendar.get(Calendar.HOUR_OF_DAY))+":"+String.valueOf(calendar.get(Calendar.MINUTE));
oh[(i+1)]= seizoen.season_openings.get(i).day_en.substring(0, 2)+ ": " + starttijd +" - "+eindtijd;
}
}
}
return oh;
}
}
결과에서 21시 50 분에 프로그램을 실행하고 있습니다. 당신의 달력 세트가 아마도 작동하지 않는지 확인하십시오. – cosmincalistru