本文整理汇总了C#中DateTimeOffset.AddYears方法的典型用法代码示例。如果您正苦于以下问题:C# DateTimeOffset.AddYears方法的具体用法?C# DateTimeOffset.AddYears怎么用?C# DateTimeOffset.AddYears使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DateTimeOffset
的用法示例。
在下文中一共展示了DateTimeOffset.AddYears方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestOffset
public void TestOffset()
{
var testScheduler = new TestScheduler();
var recorder = testScheduler.CreateObserver<int>();
var notifier = new ScheduledNotifier<int>(testScheduler);
notifier.Subscribe(recorder);
var origin = new DateTimeOffset(1999, 1, 1, 1, 1, 1, TimeSpan.Zero);
notifier.Report(1);
notifier.Report(2);
notifier.Report(3, origin);
notifier.Report(4, origin.AddDays(10));
notifier.Report(5, origin.AddYears(1));
notifier.Report(6);
testScheduler.Start();
recorder.Messages.Is(
OnNext(1, 1),
OnNext(1, 2),
OnNext(1, 6),
OnNext(origin.Ticks, 3),
OnNext(origin.AddDays(10).Ticks, 4),
OnNext(origin.AddYears(1).Ticks, 5));
}
示例2: IndexDecider_EndsUpInTheOutput
public void IndexDecider_EndsUpInTheOutput()
{
//DO NOTE that you cant send objects as scalar values through Logger.*("{Scalar}", {});
var timestamp = new DateTimeOffset(2013, 05, 28, 22, 10, 20, 666, TimeSpan.FromHours(10));
const string messageTemplate = "{Song}++ @{Complex}";
var template = new MessageTemplateParser().Parse(messageTemplate);
_options.IndexDecider = (l, utcTime) => string.Format("logstash-{1}-{0:yyyy.MM.dd}", utcTime, l.Level.ToString().ToLowerInvariant());
using (var sink = new ElasticsearchSink(_options))
{
var properties = new List<LogEventProperty> { new LogEventProperty("Song", new ScalarValue("New Macabre")) };
var e = new LogEvent(timestamp, LogEventLevel.Information, null, template, properties);
sink.Emit(e);
var exception = new ArgumentException("parameter");
properties = new List<LogEventProperty>
{
new LogEventProperty("Song", new ScalarValue("Old Macabre")),
new LogEventProperty("Complex", new ScalarValue(new { A = 1, B = 2}))
};
e = new LogEvent(timestamp.AddYears(-2), LogEventLevel.Fatal, exception, template, properties);
sink.Emit(e);
}
_seenHttpPosts.Should().NotBeEmpty().And.HaveCount(1);
var json = _seenHttpPosts.First();
var bulkJsonPieces = json.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
bulkJsonPieces.Should().HaveCount(4);
bulkJsonPieces[0].Should().Contain(@"""_index"":""logstash-information-2013.05.28");
bulkJsonPieces[1].Should().Contain("New Macabre");
bulkJsonPieces[2].Should().Contain(@"""_index"":""logstash-fatal-2011.05.28");
bulkJsonPieces[3].Should().Contain("Old Macabre");
//serilog by default simpy .ToString()'s unknown objects
bulkJsonPieces[3].Should().Contain("Complex\":\"{");
}
示例3: CanAddYearsAcrossDstTransition
public void CanAddYearsAcrossDstTransition()
{
var tz = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
var dto = new DateTimeOffset(2014, 3, 9, 0, 0, 0, TimeSpan.FromHours(-8));
var result = dto.AddYears(1, tz);
var expected = new DateTimeOffset(2015, 3, 9, 0, 0, 0, TimeSpan.FromHours(-7));
Assert.Equal(expected, result);
Assert.Equal(expected.Offset, result.Offset);
}
示例4: InitCustomers
private static void InitCustomers()
{
DateTimeOffset dto = new DateTimeOffset(2015, 1, 1, 1, 2, 3, 4, TimeSpan.Zero);
_customers = Enumerable.Range(1, 5).Select(e =>
new DCustomer
{
Id = e,
DateTime = dto.AddYears(e).DateTime,
Offset = e % 2 == 0 ? dto.AddMonths(e) : dto.AddDays(e).AddMilliseconds(10),
Date = e % 2 == 0 ? dto.AddDays(e).Date : dto.AddDays(-e).Date,
TimeOfDay = e % 3 == 0 ? dto.AddHours(e).TimeOfDay : dto.AddHours(-e).AddMilliseconds(10).TimeOfDay,
NullableDateTime = e % 2 == 0 ? (DateTime?)null : dto.AddYears(e).DateTime,
NullableOffset = e % 3 == 0 ? (DateTimeOffset?)null : dto.AddMonths(e),
NullableDate = e % 2 == 0 ? (Date?)null : dto.AddDays(e).Date,
NullableTimeOfDay = e % 3 == 0 ? (TimeOfDay?)null : dto.AddHours(e).TimeOfDay,
DateTimes = new [] { dto.AddYears(e).DateTime, dto.AddMonths(e).DateTime },
Offsets = new [] { dto.AddMonths(e), dto.AddDays(e) },
Dates = new [] { (Date)dto.AddYears(e).Date, (Date)dto.AddMonths(e).Date },
TimeOfDays = new [] { (TimeOfDay)dto.AddHours(e).TimeOfDay, (TimeOfDay)dto.AddMinutes(e).TimeOfDay },
NullableDateTimes = new [] { dto.AddYears(e).DateTime, (DateTime?)null, dto.AddMonths(e).DateTime },
NullableOffsets = new [] { dto.AddMonths(e), (DateTimeOffset?)null, dto.AddDays(e) },
NullableDates = new [] { (Date)dto.AddYears(e).Date, (Date?)null, (Date)dto.AddMonths(e).Date },
NullableTimeOfDays = new [] { (TimeOfDay)dto.AddHours(e).TimeOfDay, (TimeOfDay?)null, (TimeOfDay)dto.AddMinutes(e).TimeOfDay },
}).ToList();
}
示例5: TestAddition
public static void TestAddition()
{
DateTimeOffset dt = new DateTimeOffset(new DateTime(1986, 8, 15, 10, 20, 5, 70));
Assert.Equal(17, dt.AddDays(2).Day);
Assert.Equal(13, dt.AddDays(-2).Day);
Assert.Equal(10, dt.AddMonths(2).Month);
Assert.Equal(6, dt.AddMonths(-2).Month);
Assert.Equal(1996, dt.AddYears(10).Year);
Assert.Equal(1976, dt.AddYears(-10).Year);
Assert.Equal(13, dt.AddHours(3).Hour);
Assert.Equal(7, dt.AddHours(-3).Hour);
Assert.Equal(25, dt.AddMinutes(5).Minute);
Assert.Equal(15, dt.AddMinutes(-5).Minute);
Assert.Equal(35, dt.AddSeconds(30).Second);
Assert.Equal(2, dt.AddSeconds(-3).Second);
Assert.Equal(80, dt.AddMilliseconds(10).Millisecond);
Assert.Equal(60, dt.AddMilliseconds(-10).Millisecond);
}
示例6: From_FromFixedDateTime_Tests
public void From_FromFixedDateTime_Tests(int value)
{
var originalPointInTime = new DateTimeOffset(1976, 12, 31, 17, 0, 0, 0, TimeSpan.Zero);
Assert.AreEqual(value.Years().From(originalPointInTime), originalPointInTime.AddYears(value));
Assert.AreEqual(value.Months().From(originalPointInTime), originalPointInTime.AddMonths(value));
Assert.AreEqual(value.Weeks().From(originalPointInTime), originalPointInTime.AddDays(value*DaysPerWeek));
Assert.AreEqual(value.Days().From(originalPointInTime), originalPointInTime.AddDays(value));
Assert.AreEqual(value.Hours().From(originalPointInTime), originalPointInTime.AddHours(value));
Assert.AreEqual(value.Minutes().From(originalPointInTime), originalPointInTime.AddMinutes(value));
Assert.AreEqual(value.Seconds().From(originalPointInTime), originalPointInTime.AddSeconds(value));
Assert.AreEqual(value.Milliseconds().From(originalPointInTime), originalPointInTime.AddMilliseconds(value));
Assert.AreEqual(value.Ticks().From(originalPointInTime), originalPointInTime.AddTicks(value));
}
示例7: CustomIndex_And_TypeName_EndsUpInTheOutput
public void CustomIndex_And_TypeName_EndsUpInTheOutput()
{
//DO NOTE that you cant send objects as scalar values through Logger.*("{Scalar}", {});
var timestamp = new DateTimeOffset(2013, 05, 28, 22, 10, 20, 666, TimeSpan.FromHours(10));
const string messageTemplate = "{Song}++ @{Complex}";
var template = new MessageTemplateParser().Parse(messageTemplate);
_options.TypeName = "custom-event-type";
_options.IndexFormat = "event-index-{0:yyyy.MM.dd}";
using (var sink = new ElasticsearchSink(_options))
{
var properties = new List<LogEventProperty> { new LogEventProperty("Song", new ScalarValue("New Macabre")) };
var e = new LogEvent(timestamp, LogEventLevel.Information, null, template, properties);
//one off
sink.Emit(e);
sink.Emit(e);
var exception = new ArgumentException("parameter");
properties = new List<LogEventProperty>
{
new LogEventProperty("Song", new ScalarValue("Old Macabre")),
new LogEventProperty("Complex", new ScalarValue(new { A = 1, B = 2}))
};
e = new LogEvent(timestamp.AddYears(-2), LogEventLevel.Fatal, exception, template, properties);
sink.Emit(e);
}
var bulkJsonPieces = this.AssertSeenHttpPosts(_seenHttpPosts, 4);
bulkJsonPieces.Should().HaveCount(4);
bulkJsonPieces[0].Should().Contain(@"""_index"":""event-index-2013.05.28");
bulkJsonPieces[0].Should().Contain(@"""_type"":""custom-event-type");
bulkJsonPieces[1].Should().Contain("New Macabre");
bulkJsonPieces[2].Should().Contain(@"""_index"":""event-index-2011.05.28");
bulkJsonPieces[2].Should().Contain(@"""_type"":""custom-event-type");
bulkJsonPieces[3].Should().Contain("Old Macabre");
bulkJsonPieces[3].Should().Contain("Complex\":{");
}
示例8: ResetDataSource
public IHttpActionResult ResetDataSource()
{
DateAndTimeOfDayContext db = new DateAndTimeOfDayContext();
if (!db.Customers.Any())
{
DateTimeOffset dateTime = new DateTimeOffset(2014, 12, 24, 1, 2, 3, 4, new TimeSpan(-8, 0, 0));
IEnumerable<EfCustomer> customers = Enumerable.Range(1, 5).Select(e =>
new EfCustomer
{
Id = e,
DateTime = dateTime.AddYears(e).AddHours(e).AddMilliseconds(e).DateTime,
NullableDateTime = e % 2 == 0 ? (DateTime?)null : dateTime.AddHours(e * 5).AddMilliseconds(e * 5).DateTime,
Offset = dateTime.AddMonths(e).AddHours(e).AddMilliseconds(e),
NullableOffset = e % 3 == 0 ? (DateTimeOffset?)null : dateTime.AddDays(e).AddHours(e * 5)
}).ToList();
foreach (EfCustomer customer in customers)
{
db.Customers.Add(customer);
}
db.SaveChanges();
}
return Ok();
}
示例9: ListLogs
//.........这里部分代码省略.........
yield return log;
}
}
else
{
yield break;
}
}
dateCounter = dateCounter.AddHours(1);
if (dateCounter > DateTimeOffset.UtcNow.AddHours(1))
{
yield break;
}
}
// Check logs using a day-based prefix until we reach a month boundary.
while (dateCounter.Day > 1)
{
string currentPrefix = logDirectory.Prefix + dateCounter.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
IEnumerable<IListBlobItem> currentLogs = logDirectory.Container.ListBlobs(currentPrefix, true, metadataDetails, options, operationContext);
foreach (ICloudBlob log in currentLogs)
{
if (!utcEndTime.HasValue || string.Compare(log.Parent.Prefix, endPrefix) <= 0)
{
if (IsCorrectLogType(log, operations))
{
yield return log;
}
}
else
{
yield break;
}
}
dateCounter = dateCounter.AddDays(1);
if (dateCounter > DateTimeOffset.UtcNow.AddHours(1))
{
yield break;
}
}
// Check logs using a month-based prefix until we reach a year boundary.
while (dateCounter.Month > 1)
{
string currentPrefix = logDirectory.Prefix + dateCounter.ToString("yyyy/MM", CultureInfo.InvariantCulture);
IEnumerable<IListBlobItem> currentLogs = logDirectory.Container.ListBlobs(currentPrefix, true, metadataDetails, options, operationContext);
foreach (ICloudBlob log in currentLogs)
{
if (!utcEndTime.HasValue || string.Compare(log.Parent.Prefix, endPrefix) <= 0)
{
if (IsCorrectLogType(log, operations))
{
yield return log;
}
}
else
{
yield break;
}
}
dateCounter = dateCounter.AddMonths(1);
if (dateCounter > DateTimeOffset.UtcNow.AddHours(1))
{
yield break;
}
}
// Continue using a year-based prefix.
while (true)
{
string currentPrefix = logDirectory.Prefix + dateCounter.ToString("yyyy", CultureInfo.InvariantCulture);
IEnumerable<IListBlobItem> currentLogs = logDirectory.Container.ListBlobs(currentPrefix, true, metadataDetails, options, operationContext);
foreach (ICloudBlob log in currentLogs)
{
if (!utcEndTime.HasValue || string.Compare(log.Parent.Prefix, endPrefix) <= 0)
{
if (IsCorrectLogType(log, operations))
{
yield return log;
}
}
else
{
yield break;
}
}
dateCounter = dateCounter.AddYears(1);
if (dateCounter > DateTimeOffset.UtcNow.AddHours(1))
{
yield break;
}
}
}
示例10: TranslatedAdd
private static DateTimeOffset TranslatedAdd(DateTimeOffset date, IntervalUnit unit, int amountToAdd)
{
switch (unit)
{
case IntervalUnit.Day:
return date.AddDays(amountToAdd);
case IntervalUnit.Hour:
return date.AddHours(amountToAdd);
case IntervalUnit.Minute:
return date.AddMinutes(amountToAdd);
case IntervalUnit.Month:
return date.AddMonths(amountToAdd);
case IntervalUnit.Second:
return date.AddSeconds(amountToAdd);
case IntervalUnit.Millisecond:
return date.AddMilliseconds(amountToAdd);
case IntervalUnit.Week:
return date.AddDays(amountToAdd*7);
case IntervalUnit.Year:
return date.AddYears(amountToAdd);
default:
throw new ArgumentException("Unknown IntervalUnit");
}
}
示例11: GetTimeAfter
//.........这里部分代码省略.........
}
d = SetCalendarHour(d, hr);
continue;
}
d = new DateTimeOffset(d.Year, d.Month, d.Day, hr, d.Minute, d.Second, d.Millisecond, d.Offset);
day = d.Day;
int mon = d.Month;
t = -1;
int tmon = mon;
// get day...................................................
bool dayOfMSpec = !daysOfMonth.Contains(NoSpec);
bool dayOfWSpec = !daysOfWeek.Contains(NoSpec);
if (dayOfMSpec && !dayOfWSpec)
{
// get day by day of month rule
st = daysOfMonth.TailSet(day);
if (lastdayOfMonth)
{
if (!nearestWeekday)
{
t = day;
day = GetLastDayOfMonth(mon, d.Year);
day -= lastdayOffset;
if (t > day)
{
mon++;
if (mon > 12)
{
mon = 1;
tmon = 3333; // ensure test of mon != tmon further below fails
d.AddYears(1);
}
day = 1;
}
}
else
{
t = day;
day = GetLastDayOfMonth(mon, d.Year);
day -= lastdayOffset;
DateTimeOffset tcal = new DateTimeOffset(d.Year, mon, day, 0, 0, 0, d.Offset);
int ldom = GetLastDayOfMonth(mon, d.Year);
DayOfWeek dow = tcal.DayOfWeek;
if (dow == System.DayOfWeek.Saturday && day == 1)
{
day += 2;
}
else if (dow == System.DayOfWeek.Saturday)
{
day -= 1;
}
else if (dow == System.DayOfWeek.Sunday && day == ldom)
{
day -= 2;
}
else if (dow == System.DayOfWeek.Sunday)
{
day += 1;
}
示例12: ToRelativeTimeTest
public void ToRelativeTimeTest()
{
var date = new DateTimeOffset(2015, 8, 7, 13, 26, 30, TimeSpan.Zero);
var now = DateTimeOffset.Now;
Assert.AreEqual("now", now.ToRelativeTimeString());
Assert.AreEqual("now", now.ToRelativeTimeString(now));
Assert.AreEqual("1 second ago", date.AddSeconds(-1).ToRelativeTimeString(date));
Assert.AreEqual("10 seconds ago", date.AddSeconds(-10).ToRelativeTimeString(date));
Assert.AreEqual("1 minute ago", date.AddSeconds(-90).ToRelativeTimeString(date));
Assert.AreEqual("1 minute ago", date.AddSeconds(-100).ToRelativeTimeString(date));
Assert.AreEqual("2 minutes ago", date.AddSeconds(-120).ToRelativeTimeString(date));
Assert.AreEqual("7 minutes ago", date.AddMinutes(-7).ToRelativeTimeString(date));
Assert.AreEqual("59 minutes ago", date.AddMinutes(-59).ToRelativeTimeString(date));
Assert.AreEqual("1 hour ago", date.AddMinutes(-60).ToRelativeTimeString(date));
Assert.AreEqual("1 hour ago", date.AddHours(-1).ToRelativeTimeString(date));
Assert.AreEqual("9 hours ago", date.AddHours(-9).ToRelativeTimeString(date));
Assert.AreEqual("1 day ago", date.AddHours(-24).ToRelativeTimeString(date));
Assert.AreEqual("1 day ago", date.AddHours(-30).ToRelativeTimeString(date));
Assert.AreEqual("2 days ago", date.AddHours(-48).ToRelativeTimeString(date));
Assert.AreEqual("1 day ago", date.AddDays(-1).ToRelativeTimeString(date));
Assert.AreEqual("12 days ago", date.AddDays(-12).ToRelativeTimeString(date));
Assert.AreEqual("29 days ago", date.AddDays(-29).ToRelativeTimeString(date));
Assert.AreEqual("1 month ago", date.AddDays(-30).ToRelativeTimeString(date));
Assert.AreEqual("1 month ago", date.AddMonths(-1).ToRelativeTimeString(date));
Assert.AreEqual("3 months ago", date.AddMonths(-3).ToRelativeTimeString(date));
Assert.AreEqual("11 months ago", date.AddMonths(-11).ToRelativeTimeString(date));
Assert.AreEqual("1 year ago", date.AddMonths(-12).ToRelativeTimeString(date));
Assert.AreEqual("1 year ago", date.AddYears(-1).ToRelativeTimeString(date));
Assert.AreEqual("3 years ago", date.AddYears(-3).ToRelativeTimeString(date));
Assert.AreEqual("1 second from now", date.AddSeconds(1).ToRelativeTimeString(date));
Assert.AreEqual("10 seconds from now", date.AddSeconds(10).ToRelativeTimeString(date));
Assert.AreEqual("1 minute from now", date.AddSeconds(90).ToRelativeTimeString(date));
Assert.AreEqual("1 minute from now", date.AddSeconds(100).ToRelativeTimeString(date));
Assert.AreEqual("2 minutes from now", date.AddSeconds(120).ToRelativeTimeString(date));
Assert.AreEqual("7 minutes from now", date.AddMinutes(7).ToRelativeTimeString(date));
Assert.AreEqual("59 minutes from now", date.AddMinutes(59).ToRelativeTimeString(date));
Assert.AreEqual("1 hour from now", date.AddMinutes(60).ToRelativeTimeString(date));
Assert.AreEqual("1 hour from now", date.AddHours(1).ToRelativeTimeString(date));
Assert.AreEqual("9 hours from now", date.AddHours(9).ToRelativeTimeString(date));
Assert.AreEqual("1 day from now", date.AddDays(1).ToRelativeTimeString(date));
Assert.AreEqual("1 day from now", date.AddHours(24).ToRelativeTimeString(date));
Assert.AreEqual("12 days from now", date.AddDays(12).ToRelativeTimeString(date));
Assert.AreEqual("29 days from now", date.AddDays(29).ToRelativeTimeString(date));
Assert.AreEqual("1 month from now", date.AddDays(30).ToRelativeTimeString(date));
Assert.AreEqual("1 month from now", date.AddMonths(1).ToRelativeTimeString(date));
Assert.AreEqual("3 months from now", date.AddMonths(3).ToRelativeTimeString(date));
Assert.AreEqual("11 months from now", date.AddMonths(11).ToRelativeTimeString(date));
Assert.AreEqual("1 year from now", date.AddMonths(12).ToRelativeTimeString(date));
Assert.AreEqual("1 year from now", date.AddYears(1).ToRelativeTimeString(date));
Assert.AreEqual("3 years from now", date.AddYears(3).ToRelativeTimeString(date));
}
示例13: AddYears
public static void AddYears(DateTimeOffset dateTimeOffset, int years, DateTimeOffset expected)
{
Assert.Equal(expected, dateTimeOffset.AddYears(years));
}
示例14: CanQueryEntitySet_WithDateTimeProperties
public void CanQueryEntitySet_WithDateTimeProperties()
{
// Arrange
DateTimeOffset expect = new DateTimeOffset(new DateTime(2015, 12, 31, 20, 12, 30, DateTimeKind.Utc));
const string Uri = "http://localhost/odata/DateTimeModels";
HttpClient client = GetClient(timeZoneInfo: null);
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, Uri);
// Act
HttpResponseMessage response = client.SendAsync(request).Result;
var result = JObject.Parse(response.Content.ReadAsStringAsync().Result);
// Assert
Assert.True(response.IsSuccessStatusCode);
Assert.Equal("http://localhost/odata/$metadata#DateTimeModels", result["@odata.context"]);
var values = result["value"];
Assert.Equal(5, values.Count());
for (int i = 0; i < 5; i++)
{
Assert.Equal(expect, (DateTimeOffset)values[i]["BirthdayA"]);
expect = expect.AddYears(1);
}
}