2016-12-08 2 views
0

TimeJobSubmitted 특성이 올바른 표준 시간대의 시간을 반환하지 않는 것으로 보입니다. Windows의 인쇄 대기열을 수동으로 보면 작업이 정확한지 확인할 수 있습니다. (예 : 3:30에 제출 된 Job1을 표시합니다.);PrintSystemJobInfo.TimeJobSubmitted가 잘못된 시간을보고합니까?

PrintJobInfoCollection을 사용하여 코드에서 인쇄 작업을 구문 분석 할 때 TimeJobSubmitted이 8:30이고 올바른 시간대 인 3:30에 표시되기 때문에 올바른 시간대를 사용하지 않는 것으로 나타납니다. Windows에서 볼 수있는 실제 인쇄 대기열 (오른쪽 프린터를 클릭하고 창에서 인쇄 대기열을보고 "인쇄 기능을 참조하십시오"를 클릭합니다.

여기

내가 코드에서 인쇄 대기열을 보는 방법이다.

  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#에서 인쇄 작업이 반복되는 경우? 내가 날짜 시간 함께 일부터

답변

1

그것은 잠시이었다. 내가이 UTC에보고 된 것으로 알려져 있어야합니다. 정답은 간단 .ToLocalTime()

job.TimeJobSubmitted.ToLocalTime(); 
를 호출하는 것입니다