private bool TryParseDateTime(string text, out DateTime result) { bool isValid = false; result = this.ContextNow; DateTime current = this.ContextNow; try { // TempValue is used when Manipulating TextBox.Text while Value is not updated yet (used in DateTimePicker's TimePicker). current = this.TempValue.HasValue ? this.TempValue.Value : this.Value.HasValue ? this.Value.Value : DateTime.Parse(this.ContextNow.ToString(), this.CultureInfo.DateTimeFormat); isValid = DateTimeParser.TryParse(text, this.GetFormatString(Format), current, this.CultureInfo, this.AutoClipTimeParts, out result); } catch (FormatException) { isValid = false; } if (!isValid) { isValid = DateTime.TryParseExact(text, this.GetFormatString(this.Format), this.CultureInfo, DateTimeStyles.None, out result); } if (!isValid) { result = (_lastValidDate != null) ? _lastValidDate.Value : current; } return(isValid); }
private static DateTime Parse(string source) { ITimeEvalNode node; DateTimeParser.TryParse(source, out node); return(node.GetCurrentValue(DateTime.Now)); }
public void Infra_InvalidDate_Test() { //Arrange var dataCriacao = DateTime.Now.AddDays(2); //Assert Assert.Throws(typeof(ArgumentOutOfRangeException), () => DateTimeParser.TryParse(dataCriacao)); }
public static IEnumerable <DateTimeRangeWithPrecision> GetDatesFromWitEntities(IEnumerable <WitEntity> witEntities) { return(witEntities.Select(d => DateTimeParser.TryParse(d, out var range) ? range : null) .Where(d => d != null) .OrderBy(d => d.StartDate) .ThenBy(d => d.EndDate) .Select(Convert) .ToList()); }
public void Infra_OneMinute_Test() { //Arrange var dataCriacao = DateTime.Now.AddMinutes(-1); //Action var result = DateTimeParser.TryParse(dataCriacao); //Assert Assert.IsTrue(result.Contains("1 minuto atrás")); }
public void Infra_TwoDays_Test() { //Arrange var dataCriacao = DateTime.Now.AddDays(-2); //Action var result = DateTimeParser.TryParse(dataCriacao); //Assert Assert.IsTrue(result.Contains("2 dias atrás")); }
private static bool TryGetDateTime(String text, out DateTime dateTime) { if (!DateTimeParser.TryParse(text, AllowedDateTimeFormats, out dateTime)) { if (!DateTime.TryParseExact(text, AllowedDateTimeFormats, invariantDateFormat, DateTimeStyles.None, out dateTime)) { return(false); } } return(true); }
public void Infra_TwoDaysFourHoursTenMinutes_Test() { //Arrange var dataCriacao = DateTime.Now.AddDays(-2); dataCriacao = dataCriacao.AddHours(-4); dataCriacao = dataCriacao.AddMinutes(-10); //Action var result = DateTimeParser.TryParse(dataCriacao); //Assert Assert.IsTrue(result.Contains("2 dias, 4 horas, 10 minutos atrás")); }
protected override void OnTextChanged(string previousValue, string currentValue) { var _processTextChanged = Convert.ToBoolean(_processTextChangedField.GetValue(this)); if (!_processTextChanged) { return; } if (string.IsNullOrEmpty(currentValue)) { base.Value = null; return; } DateTime currentDate = base.Value.HasValue ? base.Value.Value : DateTime.Parse(DateTime.Now.ToString(), base.CultureInfo.DateTimeFormat); DateTime dateTime = currentDate; DateTimeParser.TryParse(currentValue, this.GetFormatString(this.Format), currentDate, base.CultureInfo, out dateTime); base.SyncTextAndValueProperties(DateTimeInputControl.TextProperty, dateTime.ToString(base.CultureInfo)); }
public static ReservationForm ReadFromWit(WitResult witResult) { var form = new ReservationForm(); if (witResult.TryFindEntity("restaurantname", out var restaurantNameEntity)) { form.RestaurantName = restaurantNameEntity.Value; } if (witResult.TryFindEntity("people_count", out var countEntity)) { form.PeopleCount = int.Parse(countEntity.Value); } if (witResult.TryFindEntity(WitBuiltinEntities.DateTime, out var dateTimeEntity) && DateTimeParser.TryParse(dateTimeEntity, out var range)) { form.ReservationDate = range.StartDate.DateTime; } return(form); }
private static Object ConvertValue(Object value, Type type, bool defaultIfNull) { if (type.IsInstanceOfType(value)) { return(value); } var strValue = Convert.ToString(value, CultureInfo.CurrentUICulture); if (String.IsNullOrEmpty(strValue)) { if (!type.IsValueType || IsNullable(type)) { return(null); } if (defaultIfNull) { return(Activator.CreateInstance(type)); } var nullValueErrorText = $"Null is not assignable to type [{type}]"; throw new Exception(nullValueErrorText); } var sourceType = value.GetType(); if (IsNullable(sourceType)) { sourceType = Nullable.GetUnderlyingType(sourceType); } var destinationType = type; if (IsNullable(destinationType)) { destinationType = Nullable.GetUnderlyingType(destinationType); } if (destinationType == typeof(DateTime)) { DateTime dateValue; if (!DateTimeParser.TryParse(Convert.ToString(value), out dateValue)) { throw new Exception("Invalid DateTime Format"); } return(dateValue); } var converter = TypeDescriptor.GetConverter(destinationType); if (converter.CanConvertFrom(sourceType)) { return(converter.ConvertFrom(value)); } converter = TypeDescriptor.GetConverter(sourceType); if (converter.CanConvertTo(destinationType)) { return(converter.ConvertTo(value, destinationType)); } var unableConvertErrorText = $"Unable to convert value [{value} - {value.GetType()}] to type [{type}]"; throw new Exception(unableConvertErrorText); }
public static ReservationForm ReadFromWit(WitResult witResult) { var form = new ReservationForm(); if (witResult.TryFindEntity("restaurantname", out var restaurantNameEntity)) { form.RestaurantName = restaurantNameEntity.Value; } if (witResult.TryFindEntities("number", out var countEntities)) { var countEntity = countEntities.Skip(1).FirstOrDefault(); if (countEntity != null) { form.PeopleCount = int.Parse(countEntity.Value); } } if (witResult.TryFindEntity(WitBuiltinEntities.DateTime, out var dateTimeEntity) && DateTimeParser.TryParse(dateTimeEntity, out var range)) { form.ReservationDate = new DateTimeA(range.StartDate.DateTime); } return(form); }
public void Should_interpret_dates_without_timezone_as_local() { DateTimeParser.TryParse("2018-01-28 15:26:00", out var datetime).Should().BeTrue(); datetime.Should().Be(new DateTime(2018, 1, 28, 15, 26, 0, DateTimeKind.Local)); }
public void Should_TryParse() { DateTimeParser.TryParse("20050809T181142+0330", out var datetime).Should().BeTrue(); datetime.Should().Be(new DateTime(2005, 8, 9, 18, 11, 42)); // +3:30 DateTimeParser.TryParse("123", out _).Should().BeFalse(); }
public static OrderForm ReadFromWit(WitResult witResult) { var form = new OrderForm(); if (witResult.TryFindEntity("food", out var foodEntity)) { form.Item = foodEntity.Value; } if (witResult.TryFindEntity("number", out var itemCount)) { form.Count = int.Parse(itemCount.Value); } if (witResult.TryFindEntity(WitBuiltinEntities.DateTime, out var dateTimeEntity) && DateTimeParser.TryParse(dateTimeEntity, out var range)) { form.DeliveryDate = new DateTimeA(range.StartDate.DateTime); } return(form); }