【问题标题】:In Android, how to create a Time value?在 Android 中,如何创建 Time 值?
【发布时间】:2013-08-29 04:29:40
【问题描述】:

在我的 Android 应用中,我使用的是 Time 类。我理解这样获取当前时间:

    Time now = new Time();
now.setToNow();

但我遇到的问题是如何在 Time 类中创建 8pm 的设定值。不仅仅是:Time time8 = "2200";,因为那是一个字符串,而Time time8 = 2200; 是一个整数。所以我被难住了。

【问题讨论】:

  • 打电话给now.setToNow()不是多余的吗?因为new Time() 会将时间设置为NOW
  • 查看set函数
  • 我相信你应该关注Calendar 类,而不是Time

标签: android


【解决方案1】:

有多种方法,我认为最简单的方法就是直接设置它:

set(int second, int minute, int hour, int monthDay, int month, int year)

Calendar rightNow = Calendar.getInstance();
int day = rightNow.get(Calendar.DAY_OF_MONTH);
int month = rightNow.get(Calendar.MONTH);
int year = rightNow.get(Calendar.YEAR);

Time time8 = new Time();
time8.set(0,0,22,day,month,year);

但如果你真的想使用Time,我只会这样做,否则日历会更有用

Calendar calendar8= Calendar.getInstance();
calendar8.set(Calendar.SECOND, 0);
calendar8.set(Calendar.MINUTE, 0);
calendar8.set(Calendar.HOUR_OF_DAY,22);

【讨论】:

  • 是的,Trundlebot,你是对的。日历更简单,我不必使用时间。
【解决方案2】:

可以使用日历类

Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY,5);
cal.set(Calendar.MINUTE,50);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.MILLISECOND,0);

Date d = cal.getTime();

【讨论】:

    【解决方案3】:

    来自安卓开发者。

    一个特定的时刻,精确到毫秒。值通常来自 currentTimeMillis(),并且始终为 UTC,与系统的时区无关。这通常称为“Unix 时间”或“纪元时间”。

    你可以用Date代替time

     Date newdate = new Date();
    

    您可以使用calendar 将其分解为您实际需要的内容。

    【讨论】:

      猜你喜欢
      • 2016-05-25
      • 2013-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多