@Override
    public Object parse(SourceData sourceData, int rowIndex, Context context) {
        // If stringParser is null, return current Unix timestamp in seconds
        if (stringParser == null) {
            return Instant.now().getEpochSecond();
        }

        String dateString = OperatorTools.parseString(stringParser.parse(sourceData, rowIndex, context));
        String formatPattern =
                formatParser != null ? OperatorTools.parseString(formatParser.parse(sourceData, rowIndex, context))
                        : DEFAULT_FORMAT;
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(formatPattern);

        // Parse the input date string with the given format
        LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter);

        // Convert LocalDateTime to Unix timestamp in seconds
        return dateTime.atZone(ZoneId.systemDefault()).toEpochSecond();
    }
UnixTimestampFunction  -> unix_timestamp([dateStr[, format]])
description:
- Return current Unix timestamp in seconds if no parameter is specified;
- Return the result of converting the date and time string 'dateStr' to the format 'format'
         (by default: yyyy-MM-dd HH:mm:ss if not specified) to Unix timestamp (in seconds)
         if there is a parameter specified
inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/temporal/UnixTimestampFunction.java