2

我正在 Android 中创建一个按钮 minSdkVersion="8" 和 targetSdkVersion="17",供用户选择日期和时间。使用 onClick (selectDate) 方法如下:

public void selectDate(View view) {
    DialogFragment newFragment = new DatePickerFragment();
    newFragment.show(getSupportFragmentManager(), "DatePicker");
}

public static void populateSetDate(int year, int month, int day) {
    m_selectDateBtn.setText(month + "/" + day + "/" + year);
}

public static class DatePickerFragment extends DialogFragment implements
        DatePickerDialog.OnDateSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        return new DatePickerDialog(getActivity(), this, m_year, m_month,
                m_day);
    }

    public void onDateSet(DatePicker view, int year, int month, int day) {
        populateSetDate(year, month, day);
    }
}

在查看了有关如何解析将存储在按钮中的日期文本的其他一些关于 stackoverflow 的问题之后:

Android中的字符串到日期/时间对象

如何识别 Java DateUtils.parseDate 中的祖鲁时区?

问题:我想知道使用 SimpleDateFormat 与Joda Time的优缺点是什么?或者你会推荐什么其他日期类来做我想做的事?

Joda Time确实有一些使用 Joda Time 的理由,但我对 Date 类了解不多,无法知道这些陈述的真实性。

4

1 回答 1

4

简单日期格式

优点

  • 便于使用。我用它所有的时间。
  • 无需额外安装。
  • Android SDK 更新将自动更新。

示例

final Date curDateTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("hh:mma, MMM. dd");
String text = formatter.format(curDateTime);

缺点


乔达时间

优点

  • 跨多个 Java 平台的类似用法。
  • 支持其他日历,例如佛教和埃塞俄比亚日历。
  • 自我报告更好的表现。

缺点

  • 需要安装包,可能需要来自 Joda.org 的更新。

结论

对于我需要的所有日期/时间格式,我很满意SimpleDateFormat并将继续使用它。对于我的需要,我知道没有正当理由切换到另一个库。

另请参阅用于日期解析的 SimpleDateFormat 的替代方案

于 2013-03-23T03:09:03.290 回答