} // Compare() public static NDate toDate(object value) { NDate result = null; if (value == null) { result = null; } else if (value is NDate) { result = (NDate)value; } else if (value is Calendar) { // https://www.tutorialspoint.com/java/util/calendar_gettime.htm result = new NDate(DateTime.Now); } else if (value is String) { result = convertFromString((String)value); } else if (value is NNumber) { result = convertFromNumber((NNumber)value); } if (result == null) { logger.warn("Could not convert '{}' to date, returning null", value); } return(result); }
} // getComparable() public int Compare(Object o1, Object o2) { if (o1 == null && o2 == null) { return(0); } if (o1 == null) { return(-1); } if (o2 == null) { return(1); } try { NDate dt1 = toDate(o1); NDate dt2 = toDate(o2); return(NDate.CompareTo(dt1, dt2)); } catch (Exception e) { logger.error("Could not compare {} and {}", o1, o2); throw new NSystemException(e.Message); } } // Compare()
// @Override public GroupedQueryBuilder lessThanOrEquals(NDate date) { if (date == null) { throw new ArgumentException("date cannot be null"); } return(applyFilter(new FilterItem(_selectItem, OperatorType.LESS_THAN_OR_EQUAL, date))); }
// @Override public GroupedQueryBuilder greaterThan(NDate date) { if (date == null) { throw new ArgumentException("date cannot be null"); } return(applyFilter(new FilterItem(_selectItem, OperatorType.GREATER_THAN, date))); }
// @Override public GroupedQueryBuilder isEquals(NDate date) { if (date == null) { throw new ArgumentException("date cannot be null"); } return(applyFilter(new FilterItem(_selectItem, OperatorType.EQUALS_TO, date))); }
// @Override public GroupedQueryBuilder differentFrom(NDate date) { if (date == null) { throw new ArgumentException("date cannot be null"); } return(applyFilter(new FilterItem(_selectItem, OperatorType.DIFFERENT_FROM, date))); }
} // convertFromString() private static NDate convertFromNumber(NNumber value) { NNumber numberValue = (NNumber)value; long long_value = numberValue.asLong(); NNumber n = new NNumber(long_value); String string_value = n.ToString(); // test if the number is actually a format of the type yyyyMMdd if (string_value.Length == 8 && (string_value.StartsWith("1") || string_value.StartsWith("2"))) { try { string format = "yyyyMMdd"; DateTimeFormatInfo dtfi = NDateUtils.createDateFormat(format); return(new NDate(string_value, format, dtfi)); } catch (Exception e) { // do nothing, proceed to next method of conversion } } // test if the number is actually a format of the type yyMMdd if (string_value.Length == 6) { try { string format = "yyMMdd"; DateTimeFormatInfo dtfi = NDateUtils.createDateFormat(format); return(new NDate(string_value, format, dtfi)); } #pragma warning disable 0168 catch (Exception e) { // do nothing, proceed to next method of conversion } #pragma warning restore 0168 } if (long_value > 5000000) { // Java: this number is most probably amount of milliseconds since 1970 // C#: this number is most probably amount of milliseconds since 1900 NDate d = new NDate(DateTime.Now); return(new NDate(long_value)); } else { // Java: this number is most probably amount of milliseconds since 1970 // C#: this number is most probably amount of milliseconds since 1900 return(new NDate(long_value * 1000 * 60 * 60 * 24)); } } // convertFromNumber()
public override IObject Construct(IEnvironment environment, IArgs args) { var r = new NDate(environment); r.Class = "Date"; r.Extensible = true; r.Prototype = environment.DatePrototype; var argCount = args.Count; double timeValue = 0.0; if (argCount == 0) { timeValue = (DateTime.UtcNow - _utcStart).TotalMilliseconds; } else if (argCount == 1) { var value = args[0].ConvertToPrimitive(null); if (value.TypeCode == LanguageTypeCode.String) { timeValue = Parse(environment, args).ConvertToNumber().BaseValue; } else { timeValue = value.ConvertToNumber().BaseValue; } } else { var year = args[0].ConvertToNumber().ConvertToInteger().BaseValue; var month = args[1].ConvertToNumber().BaseValue; var date = argCount > 2 ? args[2].ConvertToNumber().BaseValue : 1.0; var hours = argCount > 3 ? args[3].ConvertToNumber().BaseValue : 0.0; var minutes = argCount > 4 ? args[4].ConvertToNumber().BaseValue : 0.0; var seconds = argCount > 5 ? args[5].ConvertToNumber().BaseValue : 0.0; var ms = argCount > 6 ? args[6].ConvertToNumber().BaseValue : 0.0; if (!double.IsNaN(year) && year >= 0.0 && year <= 99) { year = 1900.0 + year; } var dayPortion = PDate.MakeDay(year, month, date); var timePortion = PDate.MakeTime(hours, minutes, seconds, ms); var dateValue = PDate.MakeDate(dayPortion, timePortion); timeValue = PDate.TimeClip(PDate.UTC(dateValue)); } r.PrimitiveValue = environment.CreateNumber(PDate.TimeClip(timeValue)); return(r); }
public override IObject Construct(IEnvironment environment, IArgs args) { var r = new NDate(environment); r.Class = "Date"; r.Extensible = true; r.Prototype = environment.DatePrototype; var argCount = args.Count; double timeValue = 0.0; if (argCount == 0) { timeValue = (DateTime.UtcNow - _utcStart).TotalMilliseconds; } else if (argCount == 1) { var value = args[0].ConvertToPrimitive(null); if (value.TypeCode == LanguageTypeCode.String) { timeValue = Parse(environment, args).ConvertToNumber().BaseValue; } else { timeValue = value.ConvertToNumber().BaseValue; } } else { var year = args[0].ConvertToNumber().ConvertToInteger().BaseValue; var month = args[1].ConvertToNumber().BaseValue; var date = argCount > 2 ? args[2].ConvertToNumber().BaseValue : 1.0; var hours = argCount > 3 ? args[3].ConvertToNumber().BaseValue : 0.0; var minutes = argCount > 4 ? args[4].ConvertToNumber().BaseValue : 0.0; var seconds = argCount > 5 ? args[5].ConvertToNumber().BaseValue : 0.0; var ms = argCount > 6 ? args[6].ConvertToNumber().BaseValue : 0.0; if (!double.IsNaN(year) && year >= 0.0 && year <= 99) { year = 1900.0 + year; } var dayPortion = PDate.MakeDay(year, month, date); var timePortion = PDate.MakeTime(hours, minutes, seconds, ms); var dateValue = PDate.MakeDate(dayPortion, timePortion); timeValue = PDate.TimeClip(PDate.UTC(dateValue)); } r.PrimitiveValue = environment.CreateNumber(PDate.TimeClip(timeValue)); return r; }
public abstract GroupedQueryBuilder equals(NDate date);
// @Override public GroupedQueryBuilder ne(NDate date) { return(differentFrom(date)); }
// @Override public GroupedQueryBuilder eq(NDate date) { return(isEquals(date)); }
public GroupedQueryBuilder lt(NDate date) { return(lessThan(date)); }
public override GroupedQueryBuilder higherThan(NDate date) { throw new NotImplementedException(); }
} // _Time_Comparable_Impl_ public static IComparable <object> getComparable(object o) { NDate dt1 = toDate(o); return(new _Time_Comparable_Impl_(_instance, dt1)); } // getComparable()
// @Override public GroupedQueryBuilder gte(NDate date) { return(greaterThanOrEquals(date)); }
// @Override public GroupedQueryBuilder isEquals(NDate date) { return(_filterBuilder.isEquals(date)); }
public abstract GroupedQueryBuilder higherThan(NDate date);
// @Override public GroupedQueryBuilder greaterThanOrEquals(NDate date) { return(_filterBuilder.greaterThanOrEquals(date)); }
// @Override public GroupedQueryBuilder lessThanOrEquals(NDate date) { return(_filterBuilder.lessThanOrEquals(date)); }
// @Override public GroupedQueryBuilder lte(NDate date) { return(lessThanOrEquals(date)); }
public _Time_Comparable_Impl_(IComparer <object> instance_arg, NDate dt1_arg) { _dt1_ = dt1_arg; _instance_ = instance_arg; } // constructor
// @Override public GroupedQueryBuilder gt(NDate date) { return(greaterThan(date)); }
// @Override public GroupedQueryBuilder differentFrom(NDate date) { return(_filterBuilder.differentFrom(date)); }
public override GroupedQueryBuilder equals(NDate date) { throw new NotImplementedException(); }