Существует ряд веб-сервисов, которые могут сделать это за вас (например, GeoNames имеет отличный API ). Но если у вас нет подключения к Интернету, это не то, что вы собираетесь найти непосредственно в стандартных библиотеках Java ME.
Вы можете сделать что-то близкое, хотя: сохраните координаты городов, соответствующих каждому часовому поясу, затем выполните тесселяцию Вороного , чтобы у вас были области, которые ближе всего каждый город. Затем, когда ваши пользователи нажимают на определенную географическую область, вы просто отображаете эту точку в правой части тесселяции, и перед этим вы получаете ближайший город, который, в свою очередь, определяет правильный часовой пояс.
Возможны более сложные подходы, но они также требуют значительно больших структур памяти, что, как я полагаю, является ограничением, если вы используете Java ME. Это хороший компромисс между пространством и скоростью.