Атрибут TimeJobSubmitted
не возвращает время в правильном Часовой пояс. Когда я вручную смотрю на очередь печати в Windows, я вижу, что время правильное в задании. (Пример: отображает Job1, представленный в 3:30);PrintSystemJobInfo.TimeJobSubmitted Reports Wrong Time?
Проблема заключается в разборе задания печати в коде с использованием PrintJobInfoCollection
, похоже, что он не использует правильный часовой пояс, потому что он говорит, что TimeJobSubmitted
составляет 8:30, против правильного значения, 3:30 отображается в фактическая очередь печати, отображаемая в окнах. (Щелкните правой кнопкой мыши принтер и нажмите кнопку «Показать Что Печать», чтобы увидеть очереди печати в окнах.
Вот как я смотрю через очереди печати в коде.
LocalPrintServer server = new LocalPrintServer();
PrintQueue pq = server.GetPrintQueue(printerName);
if (pq != null)
{
pq.Refresh();
PrintJobInfoCollection jobs = pq.GetPrintJobInfoCollection();
foreach (PrintSystemJobInfo job in jobs)
{
string jobName = job.Name;
string jobStatus = job.JobStatus.ToString();
// Why is the next line 5 hours off of the correct time?
DateTime timeSubbited = job.TimeJobSubmitted;
DateTime currentTime = DateTime.Now;;
TimeSpan elapsed = currentTime - timeSubbited;
// double minutesPassed = timePassed.TotalMinutes;
}
}
Как получить правильный TimeJobSubmitted при переборе заданий печати в C#?