using UK time instead of german time for requests

This commit is contained in:
2025-01-27 19:36:28 +01:00
parent 9e37ebbc22
commit 9323921754
3 changed files with 11 additions and 2 deletions

View File

@@ -4,6 +4,7 @@ import 'package:provider/provider.dart';
import 'pages/flood_station_page.dart'; import 'pages/flood_station_page.dart';
import 'pages/landing_page.dart'; import 'pages/landing_page.dart';
import 'services/flood_station_provider.dart'; import 'services/flood_station_provider.dart';
import 'package:timezone/data/latest.dart' as tz;
void main() { void main() {
runApp( runApp(
@@ -19,6 +20,7 @@ class MyApp extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
tz.initializeTimeZones();
return MaterialApp( return MaterialApp(
title: 'Floodwatch', title: 'Floodwatch',
theme: ThemeData( theme: ThemeData(

View File

@@ -1,5 +1,6 @@
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'dart:convert'; import 'dart:convert';
import 'package:timezone/timezone.dart' as tz;
import '../model/flood_station.dart'; import '../model/flood_station.dart';
import '../model/reading.dart'; import '../model/reading.dart';
@@ -40,9 +41,9 @@ class Api {
static Future<List<Reading>> fetchReadingsFromStation( static Future<List<Reading>> fetchReadingsFromStation(
String stationId) async { String stationId) async {
List<Reading> readings = []; List<Reading> readings = [];
final dateTime = DateTime.now().subtract(Duration(days: 1)); final dateTime = _getCurrentUKTime().subtract(Duration(days: 1)).toUtc();
final url = final url =
'$_rootUrl/id/stations/$stationId/readings?since=${dateTime.toIso8601String()}Z&_sorted'; '$_rootUrl/id/stations/$stationId/readings?since=${dateTime.toIso8601String()}&_sorted';
final response = await http.get(Uri.parse(url)); final response = await http.get(Uri.parse(url));
if (response.statusCode == 200) { if (response.statusCode == 200) {
final Map<String, dynamic> jsonStr = jsonDecode(response.body); final Map<String, dynamic> jsonStr = jsonDecode(response.body);
@@ -52,4 +53,9 @@ class Api {
} }
return readings.reversed.toList(); return readings.reversed.toList();
} }
static DateTime _getCurrentUKTime() {
final london = tz.getLocation('Europe/London');
return tz.TZDateTime.now(london);
}
} }

View File

@@ -15,6 +15,7 @@ dependencies:
http: ^1.3.0 http: ^1.3.0
intl: ^0.20.2 intl: ^0.20.2
provider: ^6.1.2 provider: ^6.1.2
timezone: ^0.10.0
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: