19 private static readonly Dictionary<string, CultureInfo>
s_Cultures =
new Dictionary<string, CultureInfo>();
125 provider.
RegisterObject<DateTimeOffset>(
"Millisecond", d => d.Millisecond);
126 provider.
RegisterObject<DateTimeOffset>(
"DayOfWeek", d => (int)d.DayOfWeek);
127 provider.
RegisterObject<DateTimeOffset>(
"DayOfYear", d => d.DayOfYear);
128 provider.
RegisterObject<DateTimeOffset>(
"TimeOfDay", d => d.TimeOfDay);
129 provider.
RegisterObject<DateTimeOffset>(
"UnixTimeMilliseconds", d => d.ToUnixTimeMilliseconds());
130 provider.
RegisterObject<DateTimeOffset>(
"UnixTimeSeconds", d => d.ToUnixTimeSeconds());
133 args =>args.Length < 1 ? d.Date.ToShortTimeString() : TimeZoneInfo.ConvertTimeBySystemTimeZoneId(d.DateTime,((
IBadString)args[0]).Value).ToShortTimeString(),
146 args =>args.Length < 1 ? d.Date.ToShortDateString() : TimeZoneInfo.ConvertTimeBySystemTimeZoneId(d.DateTime,((
IBadString)args[0]).Value).ToShortDateString(),
159 args =>args.Length < 1 ? d.Date.ToLongTimeString() : TimeZoneInfo.ConvertTimeBySystemTimeZoneId(d.DateTime,((
IBadString)args[0]).Value).ToLongTimeString(),
172 args =>args.Length < 1 ? d.Date.ToLongDateString() : TimeZoneInfo.ConvertTimeBySystemTimeZoneId(d.DateTime,((
IBadString)args[0]).Value).ToLongDateString(),
189 CultureInfo? c = ctx.Scope.GetSingleton<
BadRuntime>()
191 CultureInfo.InvariantCulture;
193 if (args.Length == 3 && args[2] is
IBadString str)
195 c =
new CultureInfo(str.Value);
199 args.Length < 2 ? null : (args[1] as
IBadString)?.Value;
200 if (timeZone !=
null)
202 return TimeZoneInfo.ConvertTimeBySystemTimeZoneId(d.DateTime, timeZone).ToString(format, c);
204 return d.ToString(format, c);
234 CultureInfo? c = ctx.Scope.GetSingleton<
BadRuntime>()
236 CultureInfo.InvariantCulture;
238 if (args.Length == 1 && args[0] is
IBadString str)
240 c =
new CultureInfo(str.Value);
243 return c.Calendar.GetWeekOfYear(d.DateTime,
244 c.DateTimeFormat.CalendarWeekRule,
245 c.DateTimeFormat.FirstDayOfWeek
263 "AddYears", (_, y) => d.AddYears((
int)y),
280 "AddMonths", (_, y) => d.AddMonths((
int)y),
297 "AddDays", (_, y) => d.AddDays((
int)y),
314 "AddHours", (_, y) => d.AddHours((
int)y),
331 "AddMinutes", (_, y) => d.AddMinutes((
int)y),
348 "AddSeconds", (_, y) => d.AddSeconds((
int)y),
365 "AddMilliseconds", (_, y) => d.AddMilliseconds((
int)y),
382 "AddTicks", (_, y) => d.AddTicks((
long)y),
395 Func<DateTimeOffset, BadObject> addFunc = d =>
397 "Add", (_, y) => d.Add(y),
412 Func<DateTimeOffset, BadObject> subtractFunc = d =>
414 "Subtract", (_, y) => d.Subtract(y),
431 args => d.ToUniversalTime(),
483 args => d.ToLocalTime(),
492 args => d.ToOffset(((
IBadTime)args[0]).Value),
575 provider.
RegisterObject<TimeSpan>(
"Milliseconds", d => d.Milliseconds);
577 provider.
RegisterObject<TimeSpan>(
"TotalHours", d => (decimal)d.TotalHours);
578 provider.
RegisterObject<TimeSpan>(
"TotalMinutes", d => (decimal)d.TotalMinutes);
579 provider.
RegisterObject<TimeSpan>(
"TotalSeconds", d => (decimal)d.TotalSeconds);
580 provider.
RegisterObject<TimeSpan>(
"TotalMilliseconds", d => (decimal)d.TotalMilliseconds);
588 (_, y) => d.Subtract(y),