Получите системное время работы с помощью C#

Я полагаю, что вам нужно вернуть изменения, прежде чем git поймет, что удаленный конец обновлен. Вы можете сделать это через быстрое git pull (или, как вы показываете в своем примере, git push до отслеживаемого источника).

Вы также можете вручную изменить коммит, на который указывает refs/remotes/origin.

Несправедливо ожидать, что трекер контента распознает произвольные удаленные синонимы для репозиториев; представьте, если бы у вас было пять разных URL-адресов, которые представляли собой один и тот же серверный репозиторий. Когда вы нажимаете на репо А, означает ли это, что ваши изменения были зафиксированы в репо Б (источник вашей ветки)? мерзавец не знает. Вместо этого он обновляет ссылку на удаленную головку только в двух случаях: извлечение и отправка в пункт назначения по умолчанию.

58
задан abatishchev 5 March 2013 в 00:45
поделиться

4 ответа

public TimeSpan UpTime {
    get {
        using (var uptime = new PerformanceCounter("System", "System Up Time")) {
            uptime.NextValue();       //Call this an extra time before reading its value
            return TimeSpan.FromSeconds(uptime.NextValue());
        }
    }
}
54
ответ дан 24 November 2019 в 18:42
поделиться

System.Environment.TickCount получает количество миллисекунд, прошедших с момента перезапуска системы.

Но помните, что это Int32, он переполнится через 24,9 дня и станет отрицательным. См. Примечания к документации MDSN.

26
ответ дан 24 November 2019 в 18:42
поделиться

Просто, нет, но это возможно:

    static DateTime getLastBootTime(ManagementObject mObject)
    {
        PropertyData pd = mObject.Properties["LastBootUpTime"];
        string name = pd.Name.ToString();
        DateTime lastBoot = parseCmiDateTime(pd.Value.ToString());
        return lastBoot;
    }

    static ManagementObject getServerOSObject(string serverName)
    {
        ManagementObjectSearcher mSearcher = new ManagementObjectSearcher("Select * From Win32_OperatingSystem");
        mSearcher.Scope = new ManagementScope(String.Format(@"\\{0}\root\cimv2", serverName));
        ManagementObjectCollection mObjects = mSearcher.Get();
        if (mObjects.Count != 1) throw new Exception(String.Format("Expected 1 object, returned {0}.", mObjects.Count));
        foreach (ManagementObject m in mObjects)
        {
            //No indexing on collection
            return m;
        }
        throw new Exception("Something went wrong!");
    }
4
ответ дан 24 November 2019 в 18:42
поделиться

Самый простой и правильный способ сделать это -

public static TimeSpan GetUptime()
{
    ManagementObject mo = new ManagementObject(@"\\.\root\cimv2:Win32_OperatingSystem=@");
    DateTime lastBootUp = ManagementDateTimeConverter.ToDateTime(mo["LastBootUpTime"].ToString());
    return DateTime.Now.ToUniversalTime() - lastBootUp.ToUniversalTime();
}
7
ответ дан 24 November 2019 в 18:42
поделиться