问题描述
我现在尝试将偏移时间添加到我的日期时间对象中, 但它没有显示实际时间的添加时间。 这是我在android studio的Flutter项目。
void getTime() async {
Response response = await
get('http://worldtimeapi.org/api/timezone/Asia/Karachi');
Map data = jsonDecode(response.body);
String datetime = data['datetime'];
String offset = data['utc_offset'].substring(1,3);
print(offset);
DateTime Now = DateTime.parse(datetime);
Now.add(Duration(hours: int.parse('offset')));
print(Now);
}
@override
void initState() {
super.initState();
getTime();
}
这是我得到的结果: Screenshot of the output
解决方法
您的代码中有两个问题:
- 您应该将
offset
传递给 int.parse 而不是'offset'
-
add
是对DateTime
对象的不可变操作。它不会更改DataTime
对象,而是返回一个新对象。
试试这个:
DateTime dateTimeAfterOffset = DateTime.parse(datetime).add(
Duration(
hours: int.parse(offset),),);
```
,
我找到了解决方案。耶!
function clickEvent(event) {
let element = event.target
if (element.tagName === 'LABEL') {
element = event.target.parentElement;
}
element.classList.add(element.dataset.pos + "1")
}
document.querySelector('div').addEventListener('click',clickEvent,false);