У меня есть две даты со значениями времени. Мне нужно объединить дату из одного и время из другого и сделать из них третью дату и время.
Вот JSON:
"block_times": [
{
"id": 63672,
"name": "One hour blocked time",
"all_day": false,
"start_date": "07/07/2020",
"end_date": "07/07/2020",
"start_time": "2000-01-01T16:00:00.000-06:00",
"end_time": "2000-01-01T17:00:00.000-06:00",
"note": "One hour block time",
"account_id": 1,
"service_routes_id": 4502,
"created_at": "2020-07-07T10:50:30.599-05:00",
"updated_at": "2020-07-07T10:50:30.599-05:00"
}
]
Мне нужно получить дату из start_date
и мне нужно получить время из start_time
и объединить их вместе со значением даты и времени.
У меня есть следующий код:
public static Date convertBlockedTimeToUserTime(String startTimeStr, String startDateStr) {
SimpleDateFormat dateFormat = new SimpleDateFormat(getDateTimeFormat(), Locale.US);
SimpleDateFormat startDateFormatInitial = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
SimpleDateFormat startDateFormatFinal = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
SimpleDateFormat startTimeFormat = new SimpleDateFormat(getTimeFormat(), Locale.US);
try {
String resultStartDate = startDateFormatFinal.format(startDateFormatInitial.parse(startDateStr));
String resultStartTime = startTimeFormat.format(dateFormat.parse(startTimeStr));
String result = resultStartDate+"T"+resultStartTime;
return dateFormat.parse(result);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
Я получаю этот результат: 2020-07-07T11:00:00.000+01:00
и это неправильно, так как мой текущий часовой пояс GMT +2, поэтому он должен быть таким: 2020-07-07T10:00:00.000+02:00
.
Может ли кто-нибудь помочь мне найти проблему?
java.util
вместоjava.time
, а вторая - в наличии полных дат и времени, включая смещение, где вам, очевидно, нужна только часть времени... и, возможно, смещение, но это неясно. - person deHaar   schedule 08.07.2020SimpleDateFormat
и их друзей. Посмотрите, можете ли вы использовать дешугаринг или добавить ThreeTenABP в свой проект Android, чтобы использовать java.time, современный API даты и времени Java. С ним намного приятнее работать. - person Ole V.V.   schedule 08.07.2020