当前位置: 首页>>代码示例>>Java>>正文


Java DateTime.addDuration方法代码示例

本文整理汇总了Java中org.dmfs.rfc5545.DateTime.addDuration方法的典型用法代码示例。如果您正苦于以下问题:Java DateTime.addDuration方法的具体用法?Java DateTime.addDuration怎么用?Java DateTime.addDuration使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.dmfs.rfc5545.DateTime的用法示例。


在下文中一共展示了DateTime.addDuration方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testWithDate

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
@Test
public void testWithDate() throws Exception
{
    DateTime start = DateTime.now();
    DateTime due = start.addDuration(Duration.parse("P1DT1H"));
    assertThat(new InstanceTestData(start, due, absent(), 5),
            builds(
                    withValuesOnly(
                            containing(TaskContract.Instances.INSTANCE_START, start.getTimestamp()),
                            containing(TaskContract.Instances.INSTANCE_START_SORTING, start.swapTimeZone(TimeZone.getDefault()).getInstance()),
                            containing(TaskContract.Instances.INSTANCE_DUE, due.getTimestamp()),
                            containing(TaskContract.Instances.INSTANCE_DUE_SORTING, due.swapTimeZone(TimeZone.getDefault()).getInstance()),
                            containing(TaskContract.Instances.INSTANCE_DURATION, due.getTimestamp() - start.getTimestamp()),
                            withNullValue(TaskContract.Instances.INSTANCE_ORIGINAL_TIME),
                            containing(TaskContract.Instances.DISTANCE_FROM_CURRENT, 5),
                            containing(TaskContract.Instances.DTSTART, start.getTimestamp()),
                            containing(TaskContract.Instances.DUE, due.getTimestamp()),
                            withNullValue(TaskContract.Instances.ORIGINAL_INSTANCE_TIME),
                            withNullValue(TaskContract.Instances.DURATION),
                            withNullValue(TaskContract.Instances.RRULE),
                            withNullValue(TaskContract.Instances.RDATE),
                            withNullValue(TaskContract.Instances.EXDATE)
                    )
            ));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:26,代码来源:InstanceTestDataTest.java

示例2: testWithDateAndOriginalTime

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
@Test
public void testWithDateAndOriginalTime() throws Exception
{
    DateTime start = DateTime.now();
    DateTime due = start.addDuration(Duration.parse("P1DT1H"));
    DateTime original = start.addDuration(Duration.parse("P2DT2H"));
    assertThat(new InstanceTestData(start, due, new Present<>(original), 5),
            builds(
                    withValuesOnly(
                            containing(TaskContract.Instances.INSTANCE_START, start.getTimestamp()),
                            containing(TaskContract.Instances.INSTANCE_START_SORTING, start.swapTimeZone(TimeZone.getDefault()).getInstance()),
                            containing(TaskContract.Instances.INSTANCE_DUE, due.getTimestamp()),
                            containing(TaskContract.Instances.INSTANCE_DUE_SORTING, due.swapTimeZone(TimeZone.getDefault()).getInstance()),
                            containing(TaskContract.Instances.INSTANCE_DURATION, due.getTimestamp() - start.getTimestamp()),
                            containing(TaskContract.Instances.INSTANCE_ORIGINAL_TIME, original.getTimestamp()),
                            containing(TaskContract.Instances.DISTANCE_FROM_CURRENT, 5),
                            containing(TaskContract.Instances.DTSTART, start.getTimestamp()),
                            containing(TaskContract.Instances.DUE, due.getTimestamp()),
                            containing(TaskContract.Instances.ORIGINAL_INSTANCE_TIME, original.getTimestamp()),
                            withNullValue(TaskContract.Instances.DURATION),
                            withNullValue(TaskContract.Instances.RRULE),
                            withNullValue(TaskContract.Instances.RDATE),
                            withNullValue(TaskContract.Instances.EXDATE)
                    )
            ));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:27,代码来源:InstanceTestDataTest.java

示例3: testWithStartDateAndOriginalTime

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
@Test
public void testWithStartDateAndOriginalTime() throws Exception
{
    DateTime start = DateTime.now();
    DateTime original = start.addDuration(Duration.parse("P2DT2H"));
    assertThat(new InstanceTestData(new Present<>(start), absent(), new Present<>(original), 5),
            builds(
                    withValuesOnly(
                            containing(TaskContract.Instances.INSTANCE_START, start.getTimestamp()),
                            containing(TaskContract.Instances.INSTANCE_START_SORTING, start.swapTimeZone(TimeZone.getDefault()).getInstance()),
                            withNullValue(TaskContract.Instances.INSTANCE_DUE),
                            withNullValue(TaskContract.Instances.INSTANCE_DUE_SORTING),
                            withNullValue(TaskContract.Instances.INSTANCE_DURATION),
                            containing(TaskContract.Instances.INSTANCE_ORIGINAL_TIME, original.getTimestamp()),
                            containing(TaskContract.Instances.DISTANCE_FROM_CURRENT, 5),
                            containing(TaskContract.Instances.DTSTART, start.getTimestamp()),
                            containing(TaskContract.Instances.ORIGINAL_INSTANCE_TIME, original.getTimestamp()),
                            withNullValue(TaskContract.Instances.DUE),
                            withNullValue(TaskContract.Instances.DURATION),
                            withNullValue(TaskContract.Instances.RRULE),
                            withNullValue(TaskContract.Instances.RDATE),
                            withNullValue(TaskContract.Instances.EXDATE)
                    )
            ));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:26,代码来源:InstanceTestDataTest.java

示例4: testWithDueDateAndOriginalTime

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
@Test
public void testWithDueDateAndOriginalTime() throws Exception
{
    DateTime due = DateTime.now();
    DateTime original = due.addDuration(Duration.parse("P2DT2H"));
    assertThat(new InstanceTestData(absent(), new Present<>(due), new Present<>(original), 5),
            builds(
                    withValuesOnly(
                            withNullValue(TaskContract.Instances.INSTANCE_START),
                            withNullValue(TaskContract.Instances.INSTANCE_START_SORTING),
                            containing(TaskContract.Instances.INSTANCE_DUE, due.getTimestamp()),
                            containing(TaskContract.Instances.INSTANCE_DUE_SORTING, due.swapTimeZone(TimeZone.getDefault()).getInstance()),
                            withNullValue(TaskContract.Instances.INSTANCE_DURATION),
                            containing(TaskContract.Instances.INSTANCE_ORIGINAL_TIME, original.getTimestamp()),
                            containing(TaskContract.Instances.DISTANCE_FROM_CURRENT, 5),
                            withNullValue(TaskContract.Instances.DTSTART),
                            containing(TaskContract.Instances.DUE, due.getTimestamp()),
                            containing(TaskContract.Instances.ORIGINAL_INSTANCE_TIME, original.getTimestamp()),
                            withNullValue(TaskContract.Instances.DURATION),
                            withNullValue(TaskContract.Instances.RRULE),
                            withNullValue(TaskContract.Instances.RDATE),
                            withNullValue(TaskContract.Instances.EXDATE)
                    )
            ));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:26,代码来源:InstanceTestDataTest.java

示例5: test_whenStartAndDueAreProvided_setsThemAndNullsDuration

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
@Test
public void test_whenStartAndDueAreProvided_setsThemAndNullsDuration()
{
    DateTime start = DateTime.now();
    DateTime due = start.addDuration(new Duration(1, 1, 0));

    assertThat(new TimeData(start, due),
            builds(
                    withValuesOnly(
                            containing(Tasks.DTSTART, start.getTimestamp()),
                            containing(Tasks.TZ, "UTC"),
                            containing(Tasks.IS_ALLDAY, 0),

                            containing(Tasks.DUE, due.getTimestamp()),

                            withNullValue(Tasks.DURATION),

                            withNullValue(Tasks.RDATE),
                            withNullValue(Tasks.RRULE),
                            withNullValue(Tasks.EXDATE)
                    )));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:23,代码来源:TimeDataTest.java

示例6: test_whenStartHasAllDayFlag_correspondingValueIsOne

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
@Test
public void test_whenStartHasAllDayFlag_correspondingValueIsOne()
{
    DateTime start = DateTime.now().toAllDay();
    DateTime due = start.addDuration(new Duration(1, 3, 0));

    assertThat(new TimeData(start, due),
            builds(
                    withValuesOnly(
                            containing(Tasks.DTSTART, start.getTimestamp()),
                            containing(Tasks.TZ, "UTC"),
                            containing(Tasks.IS_ALLDAY, 1),

                            containing(Tasks.DUE, due.getTimestamp()),

                            withNullValue(Tasks.DURATION),

                            withNullValue(Tasks.RDATE),
                            withNullValue(Tasks.RRULE),
                            withNullValue(Tasks.EXDATE)
                    )));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:23,代码来源:TimeDataTest.java

示例7: testInsertTaskWithStartAndDue

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
/**
 * Create task with start and due, check datetime values including generated duration.
 */
@Test
public void testInsertTaskWithStartAndDue()
{
    RowSnapshot<TaskLists> taskList = new VirtualRowSnapshot<>(new LocalTaskListsTable(mAuthority));
    RowSnapshot<Tasks> task = new VirtualRowSnapshot<>(new TaskListScoped(taskList, new TasksTable(mAuthority)));

    DateTime start = DateTime.now();
    DateTime due = start.addDuration(new Duration(1, 1, 0));

    assertThat(new Seq<>(
            new Put<>(taskList, new EmptyRowData<TaskLists>()),
            new Put<>(task, new TimeData(start, due))

    ), resultsIn(mClient,
            new Assert<>(task, new TimeData(start, due)),
            new AssertRelated<>(
                    new InstanceTable(mAuthority), Instances.TASK_ID, task,
                    new Composite<Instances>(
                            new InstanceTestData(
                                    start.shiftTimeZone(TimeZone.getDefault()),
                                    due.shiftTimeZone(TimeZone.getDefault()),
                                    absent(),
                                    0),
                            new CharSequenceRowData<>(Tasks.TZ, "UTC"))
            )));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:30,代码来源:TaskProviderTest.java

示例8: testInsertTaskWithStartAndDueUpdateStatus

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
/**
 * Create task with start and due, check datetime and INSTANCE_STATUS values after updating the status.
 */
@Test
public void testInsertTaskWithStartAndDueUpdateStatus()
{
    RowSnapshot<TaskLists> taskList = new VirtualRowSnapshot<>(new LocalTaskListsTable(mAuthority));
    RowSnapshot<Tasks> task = new VirtualRowSnapshot<>(new TaskListScoped(taskList, new TasksTable(mAuthority)));

    DateTime start = DateTime.now();
    DateTime due = start.addDuration(new Duration(1, 1, 0));

    assertThat(new Seq<>(
            new Put<>(taskList, new EmptyRowData<>()),
            new Put<>(task, new TimeData(start, due)),
            // update the status of the new task
            new Put<>(task, new StatusData(Tasks.STATUS_COMPLETED))
    ), resultsIn(mClient,
            new Assert<>(task, new TimeData(start, due)),
            new AssertRelated<>(
                    new InstanceTable(mAuthority), Instances.TASK_ID, task,
                    new Composite<Instances>(
                            new InstanceTestData(
                                    start.shiftTimeZone(TimeZone.getDefault()),
                                    due.shiftTimeZone(TimeZone.getDefault()),
                                    absent(),
                                    -1),
                            new CharSequenceRowData<>(Tasks.TZ, "UTC"))
            )));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:31,代码来源:TaskProviderTest.java

示例9: testInsertTaskWithStartAndDueMovedForward

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
/**
 * Create task with start and due and update it with new values, check datetime values including generated duration.
 */
@Test
public void testInsertTaskWithStartAndDueMovedForward()
{
    RowSnapshot<TaskLists> taskList = new VirtualRowSnapshot<>(new LocalTaskListsTable(mAuthority));
    RowSnapshot<Tasks> task = new VirtualRowSnapshot<>(new TaskListScoped(taskList, new TasksTable(mAuthority)));

    DateTime start = DateTime.now();
    DateTime due = start.addDuration(new Duration(1, 1, 0));
    Duration duration = new Duration(1, 2, 0);

    DateTime startNew = start.addDuration(duration);
    DateTime dueNew = due.addDuration(duration);

    assertThat(new Seq<>(
            new Put<>(taskList, new EmptyRowData<TaskLists>()),
            new Put<>(task, new TimeData(start, due)),
            new Put<>(task, new TimeData(startNew, dueNew))
    ), resultsIn(mClient,
            new Assert<>(task, new TimeData(startNew, dueNew)),
            new AssertRelated<>(
                    new InstanceTable(mAuthority), Instances.TASK_ID, task,
                    new Composite<Instances>(
                            new InstanceTestData(
                                    startNew.shiftTimeZone(TimeZone.getDefault()),
                                    dueNew.shiftTimeZone(TimeZone.getDefault()),
                                    absent(),
                                    0),
                            new CharSequenceRowData<>(Tasks.TZ, "UTC"))
            )));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:34,代码来源:TaskProviderTest.java

示例10: testInsertTaskWithStartAndDueMovedBackwards

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
/**
 * Create task with start and due and update it with new values, check datetime values including generated duration.
 */
@Test
public void testInsertTaskWithStartAndDueMovedBackwards()
{
    RowSnapshot<TaskLists> taskList = new VirtualRowSnapshot<>(new LocalTaskListsTable(mAuthority));
    RowSnapshot<Tasks> task = new VirtualRowSnapshot<>(new TaskListScoped(taskList, new TasksTable(mAuthority)));

    DateTime start = DateTime.now();
    DateTime due = start.addDuration(new Duration(1, 1, 0));
    Duration duration = new Duration(-1, 2, 0);

    DateTime startNew = start.addDuration(duration);
    DateTime dueNew = due.addDuration(duration);

    assertThat(new Seq<>(
            new Put<>(taskList, new EmptyRowData<TaskLists>()),
            new Put<>(task, new TimeData(start, due)),
            new Put<>(task, new TimeData(startNew, dueNew))
    ), resultsIn(mClient,
            new Assert<>(task, new TimeData(startNew, dueNew)),
            new AssertRelated<>(
                    new InstanceTable(mAuthority), Instances.TASK_ID, task,
                    new Composite<Instances>(
                            new InstanceTestData(
                                    startNew.shiftTimeZone(TimeZone.getDefault()),
                                    dueNew.shiftTimeZone(TimeZone.getDefault()),
                                    absent(),
                                    0),
                            new CharSequenceRowData<>(Tasks.TZ, "UTC"))
            )));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:34,代码来源:TaskProviderTest.java

示例11: testInsertTaskWithStartAndDueAddedAfterwards

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
/**
 * Create task without dates and set start and due afterwards, check datetime values including generated duration.
 */
@Test
public void testInsertTaskWithStartAndDueAddedAfterwards()
{
    RowSnapshot<TaskLists> taskList = new VirtualRowSnapshot<>(new LocalTaskListsTable(mAuthority));
    RowSnapshot<Tasks> task = new VirtualRowSnapshot<>(new TaskListScoped(taskList, new TasksTable(mAuthority)));

    DateTime start = DateTime.now();
    DateTime due = start.addDuration(new Duration(1, 1, 0));

    assertThat(new Seq<>(
            new Put<>(taskList, new EmptyRowData<TaskLists>()),
            new Put<>(task, new TitleData("Test")),
            new Put<>(task, new TimeData(start, due))
    ), resultsIn(mClient,
            new Assert<>(task, new TimeData(start, due)),
            new AssertRelated<>(
                    new InstanceTable(mAuthority), Instances.TASK_ID, task,
                    new Composite<Instances>(
                            new InstanceTestData(
                                    start.shiftTimeZone(TimeZone.getDefault()),
                                    due.shiftTimeZone(TimeZone.getDefault()),
                                    absent(),
                                    0),
                            new CharSequenceRowData<>(Tasks.TZ, "UTC"))
            )));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:30,代码来源:TaskProviderTest.java

示例12: testUpdateDue

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
/**
 * Having a task with start and due.
 * Update it with different due, check datetime values correct in Tasks and Instances.
 */
@Test
public void testUpdateDue() throws Exception
{
    RowSnapshot<TaskLists> taskList = new VirtualRowSnapshot<>(new LocalTaskListsTable(mAuthority));
    RowSnapshot<Tasks> task = new VirtualRowSnapshot<>(new TaskListScoped(taskList, new TasksTable(mAuthority)));
    OperationsQueue queue = new BasicOperationsQueue(mClient);

    DateTime start = DateTime.now();
    DateTime due = start.addDuration(new Duration(1, 0, 1));

    queue.enqueue(new Seq<>(
            new Put<>(taskList, new NameData("list1")),
            new Put<>(task, new TimeData(start, due))
    ));
    queue.flush();

    DateTime due2 = due.addDuration(new Duration(1, 0, 2));

    assertThat(new SingletonIterable<>(
            new Put<>(task, new TimeData(start, due2))

    ), resultsIn(queue,
            new Assert<>(task, new TimeData(start, due2)),
            new AssertRelated<>(
                    new InstanceTable(mAuthority), Instances.TASK_ID, task,
                    new Composite<Instances>(
                            new InstanceTestData(
                                    start.shiftTimeZone(TimeZone.getDefault()),
                                    due2.shiftTimeZone(TimeZone.getDefault()),
                                    absent(),
                                    0),
                            new CharSequenceRowData<>(Tasks.TZ, "UTC"))
            )));
}
 
开发者ID:dmfs,项目名称:opentasks,代码行数:39,代码来源:TaskProviderTest.java

示例13: generateInstanceValues

import org.dmfs.rfc5545.DateTime; //导入方法依赖的package包/类
/**
 * Create new {@link ContentValues} for insertion into the instances table.
 * 
 * @param task
 *            The {@link TaskAdapter} of the task that's about to be inserted.
 * @return {@link ContentValues} of the instance of this task.
 */
private ContentValues generateInstanceValues(TaskAdapter task)
{
	ContentValues instanceValues = new ContentValues();

	// get the relevant values from values
	DateTime dtstart = task.valueOf(TaskAdapter.DTSTART);
	DateTime due = task.valueOf(TaskAdapter.DUE);
	Duration duration = task.valueOf(TaskAdapter.DURATION);

	TimeZone localTz = TimeZone.getDefault();

	if (dtstart != null)
	{
		// copy dtstart as is
		instanceValues.put(Instances.INSTANCE_START, dtstart.getTimestamp());
		instanceValues.put(Instances.INSTANCE_START_SORTING, dtstart.isAllDay() ? dtstart.getInstance() : dtstart.shiftTimeZone(localTz).getInstance());
	}
	else
	{
		instanceValues.putNull(Instances.INSTANCE_START);
		instanceValues.putNull(Instances.INSTANCE_START_SORTING);
	}

	if (due != null)
	{
		// copy due and calculate the actual duration, if any
		instanceValues.put(Instances.INSTANCE_DUE, due.getTimestamp());
		instanceValues.put(Instances.INSTANCE_DUE_SORTING, due.isAllDay() ? due.getInstance() : due.shiftTimeZone(localTz).getInstance());
		if (dtstart != null)
		{
			instanceValues.put(Instances.INSTANCE_DURATION, due.getTimestamp() - dtstart.getTimestamp());
		}
		else
		{
			instanceValues.putNull(Instances.INSTANCE_DURATION);
		}
	}
	else if (duration != null)
	{
		if (dtstart != null)
		{
			// calculate the actual due value from dtstart and the duration string
			due = dtstart.addDuration(duration);
			instanceValues.put(Instances.INSTANCE_DUE, due.getTimestamp());
			instanceValues.put(Instances.INSTANCE_DUE_SORTING, due.isAllDay() ? due.getInstance() : due.shiftTimeZone(localTz).getInstance());
			instanceValues.put(Instances.INSTANCE_DURATION, due.getTimestamp() - dtstart.getTimestamp());
		}
		else
		{
			// this case should be filtered by TaskValidatorProcessor, since setting a DURATION without DTSTART is invalid
			instanceValues.putNull(Instances.INSTANCE_DURATION);
			instanceValues.putNull(Instances.INSTANCE_DUE);
			instanceValues.putNull(Instances.INSTANCE_DUE_SORTING);
		}
	}
	else
	{
		instanceValues.putNull(Instances.INSTANCE_DURATION);
		instanceValues.putNull(Instances.INSTANCE_DUE);
		instanceValues.putNull(Instances.INSTANCE_DUE_SORTING);
	}
	return instanceValues;
}
 
开发者ID:dmfs,项目名称:opentasks-provider,代码行数:71,代码来源:TaskInstancesProcessor.java


注:本文中的org.dmfs.rfc5545.DateTime.addDuration方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。