Подделка времени без изменения системных часов Windows

Кто-нибудь знает инструмент Windows для сообщения фальшивых дат/времени процессу?

По-видимому, есть программы для Linux, которые можно использовать для проверки того, как программное обеспечение будет реагировать в будущем / в другом часовом поясе, или для запуска запланированных задач без фактического изменения системных часов. Есть ли такие программы для Windows?


person Ishmaeel    schedule 13.01.2009    source источник


Ответы (3)


Это может сделать RunAsDate.

person rbrayb    schedule 13.01.2009
comment
Потрясающе, спасибо. Хотя то, что первоначальный процесс может начаться, не влияет на дочерние процессы, это лучше, чем ничего. - person Ishmaeel; 13.01.2009

Начиная примерно 2 года назад, я всегда абстрагирую вызов DateTime.Now (C#) через класс Utility. Таким образом, я всегда могу подделать дату/время, если захочу, или просто передать их напрямую в DateTime.Now.

Звучит похоже на то, что предложил BillH.

public class MyUtil
{
  public static DateTime GetDateTime()
  {
     return DateTime.Now.AddHours(5);
     //return DateTime.Now;   
  }
}
person BuddyJoe    schedule 13.01.2009
comment
Ты имеешь в виду для этого проекта, верно? Это не будет работать в масштабах всей системы, верно? :-) - person tmighty; 29.10.2017
comment
Правильный. Только для одного проекта. Было бы неплохо, если бы система дала вам возможность абстрагироваться от этого (на системном уровне). Может ли Докер это сделать? Использовать ложное/неправильное время из базовой системы? Я знаю, что виртуальная машина может. - person BuddyJoe; 09.11.2017

Обернуть ваши вызовы в системные вызовы getCurrentDateTime(), чтобы вы могли вводить смещения или множители во время чтения вашего кода во время тестирования?

person RichH    schedule 13.01.2009