【问题标题】:How to get Date Time of specific country? [duplicate]如何获取特定国家的日期时间? [复制]
【发布时间】:2018-01-11 14:43:33
【问题描述】:

我正在一个应用程序中工作,我在其中显示一个 DatePicker 后跟一个 TimePicker。

现在根据我的客户要求,我想根据国家/地区名称显示 Datepicker 和 TimePicker。

例如,如果国家名称是印度,则应显示印度的当前日期和时间,如果是美国,则应显示美国的当前日期和时间。

我在 stackoverflow 中只遇到了一个关于这个问题的线程,而且这个问题也没有得到答复。

你们能帮帮我吗!

我的日期和时间选择器代码

 private void datePicker() {
        // Get Current Date
        TextView mobileTxt = (TextView) findViewById(R.id.mobile);
        String countryName = getCountryNameOfPhoneNumber((String) mobileTxt.getText());

        final Calendar c = Calendar.getInstance();
        mYear = c.get(Calendar.YEAR);
        mMonth = c.get(Calendar.MONTH);
        mDay = c.get(Calendar.DAY_OF_MONTH);

        DatePickerDialog datePickerDialog = new DatePickerDialog(this,
                new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                        date_time = dayOfMonth + "-" + (monthOfYear + 1) + "-" + year;
                        //*************Call Time Picker Here ********************
                        tiemPicker();
                    }
                }, mYear, mMonth, mDay);
        datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
        datePickerDialog.show();
    }

    private void tiemPicker() {
        // Get Current Time
        final Calendar c = Calendar.getInstance();
        mHour = c.get(Calendar.HOUR_OF_DAY);
        mMinute = c.get(Calendar.MINUTE);

        // Launch Time Picker Dialog
        TimePickerDialog timePickerDialog = new TimePickerDialog(this,
                new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                        mHour = hourOfDay;
                        mMinute = minute;
                        if (mHour <= c.get(Calendar.HOUR) && mMinute <= c.get(Calendar.MINUTE)) {
                            Toast.makeText(SoundRecord.this, "Please Select future time !", Toast.LENGTH_SHORT).show();
                        } else {
                            EditText et_show_date_time = (EditText) findViewById(R.id.et_show_date_time);
                            et_show_date_time.setText(date_time + " " + hourOfDay + ":" + minute);
                        }
                    }
                }, mHour, mMinute, false);


        timePickerDialog.show();
    }

期待您的帮助!

【问题讨论】:

  • "应显示美国当前的日期和时间" -- 在美国或任何其他跨越时区的国家/地区没有单一的日期和时间。

标签: java android


【解决方案1】:

您可以使用 GMT 和以下代码。

TimeZone tz = TimeZone.getTimeZone("GMT+05:30"); 
Calendar c = Calendar.getInstance(tz); 
String mHour = c.get(Calendar.HOUR_OF_DAY);
String mMinute c.get(Calendar.MINUTE);

【讨论】:

    猜你喜欢
    • 2015-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-16
    相关资源
    最近更新 更多