@@ -880,7 +880,7 @@ Private Function json_UnsignedAdd(json_Start As Long, json_Increment As Long) As
880
880
End Function
881
881
882
882
''
883
- ' VBA-UTC v1.0.1
883
+ ' VBA-UTC v1.0.2
884
884
' (c) Tim Hall - https://github.com/VBA-tools/VBA-UtcConverter
885
885
'
886
886
' UTC/ISO 8601 Converter for VBA
@@ -1005,7 +1005,8 @@ Public Function ParseIso(utc_IsoString As String) As Date
1005
1005
Case 1
1006
1006
utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0 )), VBA.CInt(utc_OffsetParts(1 )), 0 )
1007
1007
Case 2
1008
- utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0 )), VBA.CInt(utc_OffsetParts(1 )), VBA.CInt(utc_OffsetParts(2 )))
1008
+ ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues
1009
+ utc_Offset = TimeSerial(VBA.CInt(utc_OffsetParts(0 )), VBA.CInt(utc_OffsetParts(1 )), Int(VBA.Val(utc_OffsetParts(2 ))))
1009
1010
End Select
1010
1011
1011
1012
If utc_NegativeOffset Then : utc_Offset = -utc_Offset
@@ -1020,13 +1021,14 @@ Public Function ParseIso(utc_IsoString As String) As Date
1020
1021
Case 1
1021
1022
ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0 )), VBA.CInt(utc_TimeParts(1 )), 0 )
1022
1023
Case 2
1023
- ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0 )), VBA.CInt(utc_TimeParts(1 )), VBA.CInt(utc_TimeParts(2 )))
1024
+ ' VBA.Val does not use regional settings, use for seconds to avoid decimal/comma issues
1025
+ ParseIso = ParseIso + VBA.TimeSerial(VBA.CInt(utc_TimeParts(0 )), VBA.CInt(utc_TimeParts(1 )), Int(VBA.Val(utc_TimeParts(2 ))))
1024
1026
End Select
1025
-
1027
+
1028
+ ParseIso = ParseUtc(ParseIso)
1029
+
1026
1030
If utc_HasOffset Then
1027
1031
ParseIso = ParseIso + utc_Offset
1028
- Else
1029
- ParseIso = ParseUtc(ParseIso)
1030
1032
End If
1031
1033
End If
1032
1034
0 commit comments