我已经为我的应用开发了一个Rest API.它向应用程序发送以下格式的日期2018-09-07T17:29:12+02:00,我猜+2:00代表我的时区作为一个对象的一部分.

在我的Ffltter应用程序中,一旦我反序列化接收到的对象,它就会将两个小时减go 实际接收到的DateTime对象.

我try 反序列化的类定义如下:

import 'package:json_annotation/json_annotation.dart';

part 'evento.g.dart';

@JsonSerializable(nullable: false)
class Evento {
  final int id;
    final String nombre;
    final String discoteca;
    final int precio_desde;
    final int edad_minima;
    final DateTime fecha_inicio;
    final DateTime fecha_fin;
    final DateTime fecha_fin_acceso;
    final String cartel;
  final bool incluyeCopa;
    Evento(this.id, this.nombre, this.discoteca, this.precio_desde, this.edad_minima, this.fecha_inicio, this.fecha_fin, this.fecha_fin_acceso, this.cartel, this.incluyeCopa, this.num_tipos);
  factory Evento.fromJson(Map<String, dynamic> json) => _$EventoFromJson(json);
  Map<String, dynamic> toJson() => _$EventoToJson(this);
} 

推荐答案

DateTime只能表示当地时间和UTC时间.

它支持用于解析的时区偏移,但将其标准化为UTC

print(DateTime.parse('2018-09-07T17:29:12+02:00').isUtc);

打印true张.

然后,只能使用toLocal()toUtc()在本地时间和UTC时间之间转换

Dart相关问答推荐

将所有内容放在有序组中,但将括号中的字符组合在一起

有没有办法在用户停止输入后发送请求?

跳过 JavaScript 直接进入 Dart

AngularDart 可以直接路由到组件吗?

Flutter:合并两张图片,作为单张图片存储在本地存储中

使用 headers 和 body 进行 HTTP Post

如何在 ListView 中添加额外的底部间距?

自定义声音推送通知不起作用

在 Flutter 中保持响应的同时制作持久的背景图像

无法将小部件标记为需要构建,因为框架已经在构建小部件的过程中

Flutter:测试期间的计时器问题

Flatter BLoC-如何将参数传递给事件?

在 TextInputType 更改后控制器重置的 Flutter TextField

如何在imageprovider类型中传递图像资源?

在小部件上显示对话框

在 Dart 中编写单元测试的最佳方式是什么?

如何在 Dart 中创建 StreamTransformer?

Dart:如何判断变量类型是否为字符串

Dart 中的 urlencoding

Dart,如何在你自己的函数中创建一个返回的future ?