- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了这样的方法,其中有 2 个输入。
first is type (e.g. 'd', 'h')
second is value (e.g. "15", "0.5")
我创建了将它转换为分钟的函数,如下所示:
public Float toMinutes(char type, String value) {
Float minutes = 0f;
switch (type) {
case 'd': {
minutes += Integer.parseInt(value) * 1440;
break;
}
case 'h': {
minutes += Float.parseFloat(value) * 60;
break;
}
case 'm': {
minutes += Integer.parseInt(value);
break;
}
default: {
return 0f;
}
}
return minutes;
}
我决定重构它,因为那些乘法对我来说看起来“丑陋”。我找到了一个更好的解决方案,称为 TimeUnit。
public Long toMinutes(char type, String value) {
Long minutesCounted = 0l;
TimeUnit tu = TimeUnit.MINUTES;
switch (type) {
case 'd': {
minutesCounted += tu.convert(Long.parseLong(value), TimeUnit.DAYS);
break;
}
case 'h': {
minutesCounted += tu.convert(Long.parseLong(value), TimeUnit.HOURS);
break;
}
case 'm': {
minutesCounted += tu.convert(Long.parseLong(value), TimeUnit.MINUTES);
break;
}
default: {
return 0l;
}
}
return minutesCounted;
}
问题是这个转换器只允许长值,所以现在它只适用于像 15h 这样的输入,而不适用于像 1,5h 这样的输入。关于如何改进我的解决方案以使用 float 的任何想法?
最佳答案
您可以使用 TimeUnit
来计算 1 d
、h
等到分钟的转换率,而不是使用魔法常量像这样
public float toMinutes(char type, String value) {
switch (type) {
case 'd':
return Integer.parseInt(value) * TimeUnit.DAYS.toMinutes(1);
case 'h':
return Float.parseFloat(value) * TimeUnit.HOURS.toMinutes(1);
case 'm':
return Integer.parseInt(value);
default:
return 0;
}
}
关于java - float 值上的 TimeUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49016521/
我正在使用ExecutorService.invokeAll(Callable, timeout, TimeUnit)方法 在提交给 ExecutorService 的每个 Callable 中,我都
我注意到 TimeUnit 类的一个奇怪行为,所以我创建了这个最小的示例来重现它。 long differenceInDays; Calendar c1 = Calendar.getInstance(
我正在尝试制作一个基本的倒数计时器。老实说,我通过教程了解了其中的大部分内容,所以我并不完全理解它的工作原理,但我已经尝试了几个小时来寻找答案,但我不知道还能去哪里寻找。 我在 TimeUnit 之后
我正在尝试研究一些方法和对能够每周使用一次的操作/“命令”的响应(防止垃圾邮件)。我唯一的问题是如何将我的java时间设置为一周。这就是我所拥有的: public static long displa
一 点睛 sleep 是一个静态方法,它有两个重载方法,其中一个需要传入毫秒数,另外一个需要传入毫秒数和纳秒数。 sleep 的方法 public static native void sleep(l
JavaAPI:https://docs.oracle.com/javase/8/docs/api/index.html 1 TimeUnit api:https://docs.oracle.com/
JavaAPI:https://docs.oracle.com/javase/8/docs/api/index.html 1 TimeUnit api:https://docs.oracle.com/
我正在使用 Python selenium 3.0.1 版,其中似乎没有说 driver.implicitly_wait(10) 我们现在必须说 driver.implicitly_wait(10,
是否有可能像 TimeUnit 这样的枚举作为参数传递给方法?我正在编写一个 Java 方法,该方法需要 long 作为持续时间参数,并且很好奇是否有更好的方法来做到这一点。基本上,我想将一些东西传递
如何为用户传递 TimeUnit 的类创建 API,例如分钟、秒、小时和一个数字,并在类内部保留毫秒值。 以下似乎是唯一的方法? void someMethodDays(int numOfDays)
我创建了这样的方法,其中有 2 个输入。 first is type (e.g. 'd', 'h') second is value (e.g. "15", "0.5") 我创建了将它转换为分钟的函数
我想将 TimeUnit 转换为 seconds 或 hours ,我问了很多但没有得到满意的答案。我读过http://developer.android.com/reference/java/uti
我正在尝试实现 Future.get(long, TimeUnit)在 TimeUnit.timedWait(Object, long) 方面. 目前尚不清楚如何使用 TimeUnit.timedWa
我试图计算两个时间戳的天数之差,TimeUnit 为我返回了完全错误的结果。 这是我的代码: long ts = 1522242239952L; long now = 1527274162820L;
我只是想知道,为什么 Java 的 TimeUnit 类中缺少一些枚举? 实际上最大时间单位是 DAY,而我想使用 WEEK、YEAR... 最佳答案 TimeUnit.DAYS 常量表示 24 小时
我希望将任意值从毫秒转换为秒,我的首选是 TimeUnit.MILLISECONDS.toSeconds。但是它返回一个长整数,因此将 1 毫秒转换为 0 秒而不是 0.001 秒。 阅读时the d
#include #include #include using namespace std; class TimeUnit { public: TimeUnit(int m, int
如何使用 Simple XML 库(版本 2.6.5/2.6.6)序列化 java.util.concurrent.TimeUnit? 这是我想要序列化的类: @Root(name="settings
我正在使用 java.util.concurrent.TimeUnit 类,我发现了一些有趣的约定,我不知道,我不明白是关于枚举的,我已经举了一个例子我自己的,我希望有人能向我解释.. 一个带有方法的
我正在尝试计算两天之间的天数差。由于某种原因,比较 01-03-2013 和 01-04-2013 给出结果 30,比较 01-03-2013 和 31-03-2013 也是如此 Calendar c
我是一名优秀的程序员,十分优秀!