@@ -34,48 +34,9 @@ global with sharing class CourseHandler {
34
34
wrapper .Title = course .Name ;
35
35
wrapper .RegistrationUrl = course .RegistrationUrl2__c ;
36
36
37
- // permanent DST fix
38
- // DateTime currentDateTime = DateTime.now();
39
- // Timezone userTimeZone = Timezone.getTimeZone('Europe/Oslo');
40
- // Integer timeZoneOffsetMinutes = userTimeZone.getOffset(DateTime.now());
41
- // Datetime fromTime = course.RegistrationFromDateTime__c.addMinutes(timeZoneOffsetMinutes);
42
- // Datetime toTime = course.RegistrationToDateTime__c.addMinutes(timeZoneOffsetMinutes);
43
- // Datetime deadline = course.RegistrationDeadline__c.addMinutes(timeZoneOffsetMinutes);
44
-
45
- // wrapper.RegistrationFromDateTime = fromTime;
46
- // wrapper.RegistrationToDateTime = toTime;
47
- // wrapper.RegistrationDeadline = deadline;
48
-
49
- // temp fix for timezone problems
50
- Datetime summer25 = DateTime .newInstance (2025 , 3 , 30 , 0 , 0 , 0 );
51
- Datetime winter25 = DateTime .newInstance (2025 , 10 , 26 , 0 , 0 , 0 );
52
- Datetime summer24 = DateTime .newInstance (2024 , 3 , 31 , 0 , 0 , 0 );
53
- Datetime winter24 = DateTime .newInstance (2024 , 10 , 27 , 0 , 0 , 0 );
54
-
55
- Datetime fromTime = course .RegistrationFromDateTime__c ;
56
- if (fromTime > summer24 && fromTime < winter24 || fromTime > summer25 && fromTime < winter25 ) {
57
- fromTime = fromTime .addHours (2 );
58
- } else {
59
- fromTime = fromTime .addHours (1 );
60
- }
61
-
62
- wrapper .RegistrationFromDateTime = fromTime ;
63
-
64
- Datetime toTime = course .RegistrationToDateTime__c ;
65
- if (toTime > summer24 && toTime < winter24 || toTime > summer25 && toTime < winter25 ) {
66
- toTime = toTime .addHours (2 );
67
- } else {
68
- toTime = toTime .addHours (1 );
69
- }
70
- wrapper .RegistrationToDateTime = toTime ;
71
-
72
- Datetime deadline = course .RegistrationDeadline__c ;
73
- if (deadline > summer24 && deadline < winter24 || deadline > summer25 && deadline < winter25 ) {
74
- deadline = deadline .addHours (2 );
75
- } else {
76
- deadline = deadline .addHours (1 );
77
- }
78
- wrapper .RegistrationDeadline = deadline ;
37
+ wrapper .RegistrationFromDateTime = toOsloTimeZone (course .RegistrationFromDateTime__c );
38
+ wrapper .RegistrationToDateTime = toOsloTimeZone (course .RegistrationToDateTime__c );
39
+ wrapper .RegistrationDeadline = toOsloTimeZone (course .RegistrationDeadline__c );
79
40
// --------------------------------------------- //
80
41
wrapper .RegistrationPlaceName = course .RegistrationPlaceName__c ;
81
42
wrapper .FrontPageDescription = course .DescriptionFormatted__c ;
@@ -98,4 +59,9 @@ global with sharing class CourseHandler {
98
59
RestContext .response .addHeader (' Content-Type' , ' application/json' );
99
60
RestContext .response .responseBody = Blob .valueOf (JSON .serialize (wrapperList ));
100
61
}
62
+
63
+ private static Datetime toOsloTimeZone (Datetime local ) {
64
+ TimeZone osloTimeZone = TimeZone .getTimeZone (' Europe/Oslo' );
65
+ return local .addMinutes (osloTimeZone .getOffset (local ) / 60000 );
66
+ }
101
67
}
0 commit comments