### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Currently, when passing `$$.Execution.StartTime` as a parameter to a SFN lambda, it is coming in in the format `HH:MM:SS.###`.

### Expected Behavior

`$$.Execution.StartTime` should be an ISO 8601 datetime string.

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

This is run in a docker compose file.

Step function definition is

```json
{
  "Comment": "Sample SFN",
  "StartAt": "SampleLambda",
  "States": {    
    "SampleLambda": {
      "Type": "Task",
      "Resource": "arn:aws:states:::lambda:invoke",
      "End": true,
      "Parameters": {
        "FunctionName": "Sample-Function",
        "Payload": {
          "data": {
            "startDateTime.$": "$$.Execution.StartTime"
          }
        }
      }
    }
  }
}
```

### Environment

```markdown
- OS: Mac OS Ventura 13.6.1
- LocalStack:
LocalStack version: 3.0.1.dev
LocalStack build date: 2023-11-20
LocalStack build git hash: 3e32b438
```


### Anything else?

Thank you so much for your hard work.
ASLParserException,
)
from localstack.services.stepfunctions.backend.execution import Execution
from localstack.services.stepfunctions.backend.state_machine import (
    StateMachineInstance,
    StateMachineRevision,
    StateMachineVersion,
)
from localstack.services.stepfunctions.backend.store import SFNStore, sfn_stores
from localstack.state import StateVisitor
from localstack.utils.aws.arns import ArnData, parse_arn, stepfunctions_state_machine_arn
from localstack.utils.strings import long_uid
LOG = logging.getLogger(__name__)
class StepFunctionsProvider(StepfunctionsApi):
    @staticmethod
    def get_store(context: RequestContext) -> SFNStore:
        return sfn_stores[context.account_id][context.region]
    def accept_state_visitor(self, visitor: StateVisitor):
        visitor.visit(sfn_stores)
    def _get_execution(self, context: RequestContext, execution_arn: Arn) -> Execution:
        execution: Optional[Execution] = self.get_store(context).executions.get(execution_arn)
        if not execution:
            raise InvalidName()  
        return execution
    def _get_executions(
        self, context: RequestContext, execution_status: Optional[ExecutionStatus] = None
    ):
        store = self.get_store(context)
        execution: list[Execution] = list(store.executions.values())
        if execution_status: