public override int GetHashCode() => Second.GetHashCode() ^ Minute.GetHashCode() ^ Hour.GetHashCode() ^ Day.GetHashCode() ^ DayOfWeek.GetHashCode() ^ Month.GetHashCode() ^ Year.GetHashCode() ^ DayOfYear.GetHashCode() ^ IsDst.GetHashCode();
protected override void Execute(CodeActivityContext executionContext) { var dateString = DateString.Get <string>(executionContext); var dateFormat = DateFormat.Get <string>(executionContext); DateTime date; if (!String.IsNullOrWhiteSpace(dateString)) { var provider = CultureInfo.InvariantCulture; if (!DateTime.TryParseExact(dateString, dateFormat, provider, DateTimeStyles.None, out date)) { date = Date.Get <DateTime>(executionContext); } } else { date = Date.Get <DateTime>(executionContext); } bool am; var hour = date.Hour; Year.Set(executionContext, date.Year); YearText.Set(executionContext, date.Year.ToString()); Month.Set(executionContext, date.Month); Day.Set(executionContext, date.Day); Hour24.Set(executionContext, date.Hour); var cultureInfo = GetCultureInfo(executionContext, LanguageCode.Get <int>(executionContext)); MonthText.Set(executionContext, date.ToString("MMMM", cultureInfo.DateTimeFormat)); DayOfWeekString.Set(executionContext, date.ToString("dddd", cultureInfo.DateTimeFormat)); if (date.Hour >= 12) { am = false; hour = date.Hour - 12; } else { am = true; } Hour.Set(executionContext, hour); IsAM.Set(executionContext, am); IsPM.Set(executionContext, !am); Minute.Set(executionContext, date.Minute); DayOfWeek.Set(executionContext, (int)date.DayOfWeek); DayOfYear.Set(executionContext, date.DayOfYear); Week.Set(executionContext, GetWeek(date)); }
/// <summary> /// Returns true if OutputDateInfo instances are equal /// </summary> /// <param name="other">Instance of OutputDateInfo to be compared</param> /// <returns>Boolean</returns> public bool Equals(OutputDateInfo other) { if (other is null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return (( DayOfYear == other.DayOfYear || DayOfYear.Equals(other.DayOfYear) ) && ( DayOfWeek == other.DayOfWeek || DayOfWeek.Equals(other.DayOfWeek) ) && ( WeekOfYear == other.WeekOfYear || WeekOfYear.Equals(other.WeekOfYear) ) && ( SecondsInDay == other.SecondsInDay || SecondsInDay.Equals(other.SecondsInDay) ) && ( MinutesInDay == other.MinutesInDay || MinutesInDay.Equals(other.MinutesInDay) ) && ( Ticks == other.Ticks || Ticks.Equals(other.Ticks) )); }
/// <summary> /// Gets the hash code /// </summary> /// <returns>Hash code</returns> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { var hashCode = 41; // Suitable nullity checks etc, of course :) hashCode = hashCode * 59 + DayOfYear.GetHashCode(); hashCode = hashCode * 59 + DayOfWeek.GetHashCode(); hashCode = hashCode * 59 + WeekOfYear.GetHashCode(); hashCode = hashCode * 59 + SecondsInDay.GetHashCode(); hashCode = hashCode * 59 + MinutesInDay.GetHashCode(); hashCode = hashCode * 59 + Ticks.GetHashCode(); return(hashCode); } }
public override int GetHashCode() { var hashCode = 844321305; hashCode = hashCode * -1521134295 + Ticks.GetHashCode(); hashCode = hashCode * -1521134295 + Second.GetHashCode(); hashCode = hashCode * -1521134295 + Date.GetHashCode(); hashCode = hashCode * -1521134295 + Month.GetHashCode(); hashCode = hashCode * -1521134295 + Minute.GetHashCode(); hashCode = hashCode * -1521134295 + Millisecond.GetHashCode(); hashCode = hashCode * -1521134295 + Hour.GetHashCode(); hashCode = hashCode * -1521134295 + DayOfYear.GetHashCode(); hashCode = hashCode * -1521134295 + DayOfWeek.GetHashCode(); hashCode = hashCode * -1521134295 + Day.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <TimeSpan> .Default.GetHashCode(TimeOfDay); hashCode = hashCode * -1521134295 + Year.GetHashCode(); hashCode = hashCode * -1521134295 + EqualityComparer <TimeSpan> .Default.GetHashCode(Offset); hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Value); return(hashCode); }
/// <summary> /// 年和年积日 /// </summary> /// <returns></returns> public string ToYearDayHourMinuteSecondString() { return(Year + " " + DayOfYear.ToString("000") + " " + Hour + " " + Minute + " " + Second); }
/// <summary> /// 年和年积日 /// </summary> /// <returns></returns> public string ToYearDayString() { return(Year + "" + DayOfYear.ToString("000")); }
public string ToSql() { var sql = new StringWriter(); sql.WriteLine("MERGE ExchangeRate AS Target"); sql.WriteLine("USING (SELECT {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}) As Source (BankId, DayOfYear, Year, Date, Month, MonthName, DayName, UtcLastUpdateOn, BuyRate, SaleRate)", BankId.ToSql(), DayOfYear.ToSql(), Year.ToSql(), Date.ToSql(), Month.ToSql(), MonthName.ToSql(), DayName.ToSql(), UtcLastUpdateOn.ToSql(), BuyRate.ToSql(), SaleRate.ToSql()); sql.WriteLine("ON Target.BankId = {0} And Target.DayOfYear = {1} And Target.Year = {2}", BankId.ToSql(), DayOfYear.ToSql(), Year.ToSql()); sql.WriteLine("WHEN MATCHED THEN"); sql.WriteLine(" UPDATE SET Month = {0}, MonthName = {1}, DayName = {2}, UtcLastUpdateOn = {3}, BuyRate = {4}, SaleRate = {5}", Month.ToSql(), MonthName.ToSql(), DayName.ToSql(), UtcLastUpdateOn.ToSql(), BuyRate.ToSql(), SaleRate.ToSql()); sql.WriteLine("WHEN NOT MATCHED THEN"); sql.WriteLine(" INSERT (BankId, DayOfYear, Year, Date, Month, MonthName, DayName, UtcLastUpdateOn, BuyRate, SaleRate)"); sql.WriteLine(" VALUES ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9});", BankId.ToSql(), DayOfYear.ToSql(), Year.ToSql(), Date.ToSql(), Month.ToSql(), MonthName.ToSql(), DayName.ToSql(), UtcLastUpdateOn.ToSql(), BuyRate.ToSql(), SaleRate.ToSql()); return(sql.ToString()); }