using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var where = "ArrivalTime > DateTime.Now.AddMinute(-100) && ArrivalTime < DateTime.Now.AddMinute(100)";
var pattern = @"DateTime\.Now\.AddMinute\(([^()]*)\)";
var now = DateTime.Now;
var res = Regex.Replace(where, pattern, x =>
{
var val= x.Groups[1].Value;
int min;
if (int.TryParse(val, out min))
{
var date = now.AddMinutes(min);
return $"DateTime({date.Year}, {date.Month}, {date.Day}, {date.Hour}, {date.Minute}, 0)";
} else return x.Value;
});
Console.WriteLine(res);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9uczsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgd2hlcmUgPSAiQXJyaXZhbFRpbWUgPiBEYXRlVGltZS5Ob3cuQWRkTWludXRlKC0xMDApICYmIEFycml2YWxUaW1lIDwgRGF0ZVRpbWUuTm93LkFkZE1pbnV0ZSgxMDApIjsKCQl2YXIgcGF0dGVybiA9IEAiRGF0ZVRpbWVcLk5vd1wuQWRkTWludXRlXCgoW14oKV0qKVwpIjsKCQl2YXIgbm93ID0gRGF0ZVRpbWUuTm93OwoJCXZhciByZXMgPSBSZWdleC5SZXBsYWNlKHdoZXJlLCBwYXR0ZXJuLCB4ID0+IAoJCQl7CgkJCQl2YXIgdmFsPSB4Lkdyb3Vwc1sxXS5WYWx1ZTsKCQkJCWludCBtaW47CgkJCQlpZiAoaW50LlRyeVBhcnNlKHZhbCwgb3V0IG1pbikpCgkJCQl7CgkJCQkJdmFyIGRhdGUgPSBub3cuQWRkTWludXRlcyhtaW4pOwoJCQkJCXJldHVybiAkIkRhdGVUaW1lKHtkYXRlLlllYXJ9LCB7ZGF0ZS5Nb250aH0sIHtkYXRlLkRheX0sIHtkYXRlLkhvdXJ9LCB7ZGF0ZS5NaW51dGV9LCAwKSI7CgkgICAgICAgICAgICB9IGVsc2UgcmV0dXJuIHguVmFsdWU7CgkJCX0pOwoJCUNvbnNvbGUuV3JpdGVMaW5lKHJlcyk7Cgl9Cn0=
ArrivalTime > DateTime(2018, 10, 17, 14, 35, 0) && ArrivalTime < DateTime(2018, 10, 17, 17, 55, 0)