Ad

Why Can't I Add Offset Hours In Datetime Flutter Project?

I tried to add offset hours to my datetime object now, but it doesn't show the added time that is actual time. It is my flutter project in android studio.

    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();
    }

This is the result I got: Screenshot of the output

Ad

Answer

I found the solution. Yayyy!

  void getTime() async {

    //Make the request
    Response response = await get('http://worldtimeapi.org/api/timezone/Asia/Karachi');
    Map data = jsonDecode(response.body);
    print(data);


    //Get properties from data
    String datetime = data['datetime'];
    String offset = data['utc_offset'].substring(1,3);
    //print(datetime);
    print(offset);

    //create DateTime Object
    DateTime now = DateTime.parse(datetime);
    now = now.add(Duration(hours: int.parse(offset)));
    print(now);
  }

  @override
  void initState() {

    super.initState();
    getTime();
  }
Ad
source: stackoverflow.com
Ad