gpt4 book ai didi

android - 如何引用当前日期从传递时间字符串开始计时(以毫秒为单位)

转载 作者:行者123 更新时间:2023-11-29 23:44:50 24 4
gpt4 key购买 nike

我试图将 12:00 形式的字符串传递给基于当前日期的毫秒数,但我似乎无法很好地理解 CalendarDate 类致力于实现这一目标。

现在我有了这段代码:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);

Calendar startTime = Calendar.getInstance();
String alarmPref = preferences.getString(PreferenceUtility.getReminderTimes(context), "12:00");
SimpleDateFormat format = new SimpleDateFormat("HH:mm", Locale.getDefault());
Date date = format.parse(alarmPref);
startTime.setTime(date);

不幸的是,当我这样记录时,这给了我:

Log.d(TAG, "Time to start:" + futureTime);
Log.d(TAG, "Date: " + date);

给出以下结果:

07-25 14:45:21.057 8409-8409/com.google.developer.bugmaster D/PreferenceUtility:Time PreferenceUtility: 21:20
07-25 14:45:21.057 8409-8409/com.google.developer.bugmaster D/QuizJobScheduler: Time to start:126000
Date: Thu Jan 01 12:00:00 GMT+01:00 1970

如所见,所需的字符串是 21:20(正如预期的那样),但 Time to start 仍保持值 126000 因此我保留将日期设为 Date: Thu Jan 01 12:00:00 GMT+01:00 1970,这当然是对 epoch 日期和时间的引用。

如何获取引用日期和时间,该引用日期和时间指的是 21:20 的时间以及应用程序运行的当前日期。请原谅我的无知,因为我尝试了很多文献都没有成功,很可能我无法理解它们。

最佳答案

使用这段代码:

    String time = "21:20";
String[] splittedTime = time.split(":");

Calendar calendar = Calendar.getInstance();

// Set the current date and time
calendar.setTime(new Date());

// Set the desired hour and minute
calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(splittedTime[0]));
calendar.set(Calendar.MINUTE, Integer.parseInt(splittedTime[1]));

// Clear seconds and milliseconds
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);

// the variable date will get today's date and the desired time
Date date = calendar.getTime();

我希望你能理解我在代码中的注释

关于android - 如何引用当前日期从传递时间字符串开始计时(以毫秒为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51522633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com