【发布时间】:2023-01-08 01:57:53
【问题描述】:
我有以下
Dateime.now() + here i need to increase only 1 microsecond
所以想要的输出是Dateime.now() + 那是1 microsecond
我尝试了以下但它不起作用
print(DateTime.now()+const Duration(microsecond : 1);)
我怎样才能实现这个
【问题讨论】:
我有以下
Dateime.now() + here i need to increase only 1 microsecond
所以想要的输出是Dateime.now() + 那是1 microsecond
我尝试了以下但它不起作用
print(DateTime.now()+const Duration(microsecond : 1);)
我怎样才能实现这个
【问题讨论】:
这很好搞定。
final now = DateTime.now();
final later = now.add(const Duration(millisecond: 1));
检查文档here
或者在一行中完成:
DateTime now = DateTime.now().add(Duration(milliseconds: 1));
print(now);
【讨论】:
DateTime 没有定义operator +,但它确实有一个接受Duration 的add method。 (您的代码中还有一些语法错误;分号放错了位置,Duration 的命名参数是microseconds,而不是microsecond。)
如果您正在使用 Dart for the Web 进行测试(例如使用 DartPad),您将不是由于 JavaScript 的限制而获得微秒精度。在 Dart 中运行以下代码虚拟机将显示微秒的变化:
void main() {
var now = DateTime.now();
const microsecond = Duration(microseconds: 1);
print(now); // Prints: 2022-04-23 20:39:28.295803
print(now.add(microsecond)); // Prints: 2022-04-23 20:39:28.295804
}
【讨论】: