Repository: godotengine/godot (language: cpp)

Issue:
push_warning/error show a leading 0 in the timestamp for the milliseconds
### Tested versions

- v4.4.beta.gentoo [a013481b0]

### System information

Linux Gentoo Wayland

### Issue description

I was doing some good-ol' push_warning() debugging of my project and I was getting confused why some warnings were suddenly delayed by 900 msec. As it turns out, the Editor prints an additional zero when printing the timestamp.

Observed behaviour:
```
W 0:00:00:0990   main.gd:10 @ ticker(): TICK 37
W 0:00:01:0007   main.gd:10 @ ticker(): TICK 38
```

Expected behaviour:
```
W 0:00:00:990   main.gd:10 @ ticker(): TICK 37
W 0:00:01:007   main.gd:10 @ ticker(): TICK 38
```

The most likely culprit for this is in : `ScriptEditorDebugger::_parse_message` with the offending line being `String time = String("%d:%02d:%02d:%04d").sprintf(time_vals, &e);`


### Steps to reproduce

Do a bunch of push_warnings and/or push_errors and observe the millisecond field in the timestamp.

### Minimal reproduction project (MRP)

* Create a new scene
* Attach the following script and run the scene

```gdscript
extends Node

func _ready() -> void:
	ticker()

func ticker() -> void:
	for i in range(1, 100):
		push_warning('TICK ', i)
		push_error('TICK ', i)
		await get_tree().physics_frame

	get_tree().quit()
```


Discussion / hints:
This is also present in all previous 4.x versions, introduced in:
* https://github.com/godotengine/godot/pull/36244

Back before 4.0

Simple to solve by returning to the previous format of `"%d:%02d:%02d:%03d"`

Fix patch:
diff --git a/editor/debugger/script_editor_debugger.cpp b/editor/debugger/script_editor_debugger.cpp
index 1363fca3c2c9..c4242f7dff60 100644
--- a/editor/debugger/script_editor_debugger.cpp
+++ b/editor/debugger/script_editor_debugger.cpp
@@ -543,7 +543,7 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, uint64_t p_thread
 		time_vals.push_back(oe.sec);
 		time_vals.push_back(oe.msec);
 		bool e;
-		String time = String("%d:%02d:%02d:%04d").sprintf(time_vals, &e);
+		String time = String("%d:%02d:%02d:%03d").sprintf(time_vals, &e);
 
 		// Rest of the error data.
 		bool source_is_project_file = oe.source_file.begins_with("res://");


Test patch: