protected override void WriteKeys(Newtonsoft.Json.JsonWriter writer) { if (DateStyle != FieldDateTimeStyle.Unspecified) { writer.WritePropertyName("dateStyle"); writer.WriteValue(DateStyle.ToString()); } if (TimeStyle != FieldDateTimeStyle.Unspecified) { writer.WritePropertyName("timeStyle"); writer.WriteValue(TimeStyle.ToString()); } if (IsRelative.HasValue) { writer.WritePropertyName("isRelative"); writer.WriteValue(IsRelative.Value); } if (IgnoresTimeZone.HasValue) { writer.WritePropertyName("ignoresTimeZone"); writer.WriteValue(IgnoresTimeZone.Value); } }
protected string GetPattern(TagModel model, DateTimeFormatInfo format) { DateType type = GetAs <DateType>(Type, model, DateType.Both).Value; DateStyle dateStyle = GetAs <DateStyle>(DateStyle, model, FormatTags.DateStyle.Default).Value; TimeStyle timeStyle = GetAs <TimeStyle>(TimeStyle, model, FormatTags.TimeStyle.Default).Value; return(GetAsString(Pattern, model) ?? ConstructPattern(type, dateStyle, timeStyle, format)); }
public static StandardFieldsBuilder Add( this StandardFieldsBuilder builder, string key, string label, DateTimeOffset value, DateStyle dateStyle, DateStyle timeStyle) { return(builder.Add(key).Label(label).Value(value.ToIsoString()).DateStyle(dateStyle).TimeStyle(timeStyle)); }
private string ConstructPattern(DateType type, DateStyle dateStyle, TimeStyle timeStyle, DateTimeFormatInfo format) { var sb = new StringBuilder(); if (type != DateType.Time) { sb.Append(dateStyle == FormatTags.DateStyle.Long ? format.LongDatePattern : format.ShortDatePattern); } if (type == DateType.Both) { sb.Append(" "); } if (type != DateType.Date) { sb.Append(timeStyle == FormatTags.TimeStyle.Long ? format.LongTimePattern : format.ShortTimePattern); } return(sb.ToString()); }
/// <summary> /// 将传入的指定格式的整型日期转为指定格式的整型日期 /// </summary> /// <param name="dateNum">8位整型日期</param> /// <param name="inDateStyle">输入的整型日期格式</param> /// <param name="outDateStyle">希望输出的日期格式</param> /// <returns></returns> public static int ToIntDate(this int dateNum, DateStyle inDateStyle, DateStyle outDateStyle) { DateTime dtm = Function.ToDateTime(dateNum, 0, inDateStyle); int intDateValue = 0; switch (outDateStyle) { case DateStyle.yyyyMMdd: intDateValue = dtm.Year * 10000 + dtm.Month * 100 + dtm.Day; break; case DateStyle.YYYYMM00: intDateValue = dtm.Year * 10000 + dtm.Month * 100; break; case DateStyle.YYYY0000: intDateValue = dtm.Year * 10000; break; } return(intDateValue); }
public IntlDateTime(DateStyle date, TimeStyle time = TimeStyle.Undefined) : base(IntlFormat.DateTime) { Date = date; Time = time; }
/// <summary> /// Style of time to display. /// </summary> public static PassBuilder.StandardFieldBuilder TimeStyle(this PassBuilder.StandardFieldBuilder builder, DateStyle value) { builder.SetFieldValue(PassBuilder.GetCaller(), value.ToPassKitString()); return(builder); }
// <summary> /// 按指定日期样式将输入的整型日期转为日期型日期 /// </summary> /// <param name="dateNum">8位整型日期</param> /// <param name="inDateStyle">输入的整型日期格式</param> /// <returns></returns> public static DateTime ToDateTime(this int dateNum, DateStyle inDateStyle) { return(Function.ToDateTime(dateNum, 0, inDateStyle)); }
/// <summary> /// 将输入的日期按指定格式转换为适合页面显示的日期字符串 /// </summary> /// <param name="dateNum">8位整型日期</param> /// <param name="inDateStyle">输入的日期格式</param> /// <param name="outDateStyle">输出的日期样式</param> /// <param name="replaceNull">如果传入的参数为空是返回的值</param> /// <returns>适合页面显示的日期字符串</returns> public static string OutDateTime(object dateNum, DateStyle inDateStyle, OutDateStyle outDateStyle, string replaceNull) { return(OutDateTime(dateNum, inDateStyle, outDateStyle, null, null, replaceNull, "", "")); }
internal DateValidator(DateStyle dateStyl) { _dateStyl = dateStyl; }
public DateTimeStamp(DateFormat format, DateCorner corner, DateStyle style) { Format = format; Corner = corner; Style = style; }
/// <summary> /// 约会 /// </summary> /// <param name="styleIndex">约会类型(从0开始计数)</param> /// <returns>0:代表金钱不足 -1:正在约会,不能再次执行 </returns> /// (更新玩家数据、统计数据、设置计时器) /// public float[] GoToDate(int styleIndex) { // int index = styleIndex - 1; DateStyle dateStyle = designData.dateStyleArray[styleIndex];// dateSyele为约会列表单曲的子项数据。(包括花费金币/冷却时间/增加好感) //如果是第一次开始约会 if (IsDating()) // 如果isWorking false: 代表都没有在约会,true:当前有在约会 { //当前有在约会,请等待冷却时间结束后再进行其他约会 //return new float[] {-1 }; return(null); } else //没有在约会 { // 当前项开始约会 if (getCoinCount() - dateStyle.consumeCoins >= 0) // getCoinCount()当前金币数 - 将要花费的金币数 足够花费 { subCoins(dateStyle.consumeCoins); // 减去花费的金币 addFavorPoint(dateStyle.addFavorPoint); // 增加好感------应该判断变化后是否会升级,如果升级应该获得升级通知 playerData.dateCount[styleIndex] += 1; // 当前子项的约会次数加一 playerData.dateTimers[styleIndex].beginTime = System.DateTime.Now.ToString(); // 当前项的计时器记录当前系统时间 playerData.dateTimers[styleIndex].remainTime = dateStyle.coldDownTime; // 当前项的冷却时间 // SetIsDating(true);//当前项在工作 return(new float[] { 1, getCoinCount(), getFavorPoint(), playerData.dateCount[styleIndex], dateStyle.coldDownTime, getMaxFavorPoint(), dateStyle.consumeCoins, dateStyle.addFavorPoint }); //状态码 / 返回变化后的金币,变化后的好感度,当前的约会次数, 当前项的冷却时间, 当前等级最大的好感度 / 金币差值 / 好感度差值 } else { return(new float[] { 0 });//如果第一位为0,表示金币不足 } } #region 升级操作 /* * public float[] LevelUp() * { * float cur = getFavorPoint(); * if (getFavorPoint() >= getMaxFavorPoint()) * { * playerData.favorPoint -= getMaxFavorPoint();//当前变化后的好感度 - 当前等级最大的好感度 * playerData.level += 1; //等级加1 * // Debug.Log("升级成功&获得钻石奖励-10!"); * //钻石加10 * playerData.diamonds += 10f; * return new float[]{ 1, playerData.favorPoint, playerData.diamonds, playerData.level} ;//返回变化后的好感度和钻石 * * * } * * return new float[] {0 }; * } */ #endregion }
/// <summary> /// 将输入的日期、时间按指定格式转换为适合页面显示的日期、时间字符串 /// </summary> /// <param name="dateNum">8位整型日期</param> /// <param name="inDateStyle">输入的日期格式</param> /// <param name="outDateStyle">输出的日期样式</param> /// <param name="timeNum">6位整型时间</param> /// <param name="outTimeStyle">输出的时间样式</param> /// <returns>适合页面显示的日期时间字符串</returns> public static string OutDateTime(object dateNum, DateStyle inDateStyle, OutDateStyle outDateStyle, object timeNum, OutTimeStyle outTimeStyle) { return(OutDateTime(dateNum, inDateStyle, outDateStyle, timeNum, outTimeStyle, "", "", "")); }
/// <summary> /// 将输入的日期按指定格式转换为适合页面显示的日期字符串 /// </summary> /// <param name="dateNum">8位整型日期</param> /// <param name="inDateStyle">输入的日期格式</param> /// <param name="outDateStyle">输出的日期样式</param> /// <param name="replaceNull">如果传入的参数为空是返回的值</param> /// <param name="prefix">前缀</param> /// <param name="postfix">后缀</param> /// <returns>适合页面显示的日期字符串</returns> public static string OutDateTime(object dateNum, DateStyle inDateStyle, OutDateStyle outDateStyle, string replaceNull, string prefix, string postfix) { return(OutDateTime(dateNum, inDateStyle, outDateStyle, null, null, replaceNull, prefix, postfix)); }
/// <summary> /// 指定传入的整型日期格式并转为 yyyyMMdd 格式的日期 /// </summary> /// <param name="dateNum">8位整型日期</param> /// <param name="inDateStyle">输入的整型日期格式</param> /// <returns></returns> public static int ToIntDate(this int dateNum, DateStyle inDateStyle) { return(ToIntDate(dateNum, inDateStyle, DateStyle.yyyyMMdd)); }
/// <summary> /// 按指定日期样式将输入的整型日期、时间转为日期型日期时间 /// </summary> /// <param name="dateNum">8位整型日期</param> /// <param name="timeNum">6位整型时间</param> /// <param name="inDateStyle">输入的整型日期格式</param> /// <returns>日期型日期</returns> public static DateTime ToDateTime(int dateNum, int timeNum, DateStyle inDateStyle) { DateTime dtm = new DateTime(); if (dateNum > 10000 && dateNum <= 99991231) { //自动判断日期类型 if (inDateStyle == DateStyle.Automatism) { if ((dateNum % 100) != 0) { inDateStyle = DateStyle.yyyyMMdd; } else if ((dateNum % 10000) != 0) { inDateStyle = DateStyle.YYYYMM00; } else { inDateStyle = DateStyle.YYYY0000; } } switch (inDateStyle) { case DateStyle.yyyyMMdd: dtm = dtm.AddYears((dateNum / 10000) - 1); dtm = dtm.AddMonths(((dateNum / 100) % 100) - 1); dtm = dtm.AddDays((dateNum % 100) - 1); break; case DateStyle.YYYYMM00: dtm = dtm.AddYears((dateNum / 10000) - 1); dtm = dtm.AddMonths(((dateNum / 100) % 100) - 1); if (dtm.Day != 0) { dtm = dtm.AddDays(1 - dtm.Day); } break; case DateStyle.YYYY0000: dtm = dtm.AddYears((dateNum / 10000) - 1); dtm = dtm.AddMonths(((dateNum / 100) % 100) - 1); dtm = dtm.AddDays((dateNum % 100) - 1); if (dtm.Day != 0) { dtm = dtm.AddDays(1 - dtm.Day); } if (dtm.Month != 0) { dtm = dtm.AddMonths(1 - dtm.Month); } break; } } if (timeNum > 0) { dtm = dtm.AddHours(timeNum / 10000); dtm = dtm.AddMinutes((timeNum / 100) % 100); dtm = dtm.AddSeconds(timeNum % 100); } return(dtm); }
/// <summary> /// 将传入的日期转为指定格式的整型日期 /// </summary> /// <param name="dateTime">DateTime 型日期时间</param> /// <param name="outDateStyle">希望输出的日期格式</param> /// <returns></returns> public static int ToIntDate(this DateTime dateTime, DateStyle outDateStyle) { return((dateTime.Year * 10000 + dateTime.Month * 100 + dateTime.Day).ToIntDate(DateStyle.yyyyMMdd, outDateStyle)); }