C # DateTime - формат RFC 3339

Я пытаюсь сгенерировать строки даты, соответствующие RFC 3339 (например, '2008-03-19T00: 00: 00.0000000-04: 00'), но, похоже, у меня возникла проблема с недействительным смещением. Я использую следующее:

private string GetDate(DateTime DateTime)
{
    DateTime UtcDateTime = TimeZoneInfo.ConvertTimeToUtc(DateTime);
    return XmlConvert.ToString(UtcDateTime, XmlDateTimeSerializationMode.Utc);
}

, но это возвращает мне такое значение, как «1977-02-03T05: 00: 00Z»

Я также пытался использовать определенный формат, например

 utcDateTime.ToString("yyyy-MM-dd'T'HH:mm:ss.fffK", DateTimeFormatInfo.InvariantInfo); 

Но с те же результаты.


См. эту существующую ссылку: Как мне проанализировать и преобразовать DateTime ' Я всегда слышал, что «if-выражения в циклах работают медленно!» Итак, в надежде (незначительно) повысить производительность, я разделил циклы на:

for(int i = 0; i < 200; i++) {
    /* Do something computationally expensive */
    if (!(i%20)) {
        /* Do something else */
    }
}

for(int i = 200; i < 10000; i++) {
    /* Do something computationally expensive */
}

Будет ли gcc (с соответствующими флагами, например -O3) автоматически разбивать один цикл на два, или он разворачивается только для уменьшения количество итераций?

8
задан skaffman 16 February 2011 в 14:47
поделиться