현재 시각을 컨솔에 보여주는 간단한 애플리케이션의 Python 언어 소스 코드이다.
UTC란 1970년 1월 1일 0시 0분 0초를 기준으로 하여 경과된 초 단위의 총 시간을 의미한다.
* UTC(Universal Time  Coordinated, 협정세계시, 協定世界時)


  1. # -*- encoding: ms949 -*-
  2. #  Filename: testCTime.py
  3. #  Execute: python testCTime.py
  4. from time import *
  5. # Python case
  6. weekNames = [ "월", "화", "수", "목", "금", "토", "일" ]  
  7. utctime = time()
  8. cNow = localtime(utctime)
  9. # 1970년 1월 1일 0시 0분 0초부터 시작하여 현재까지의 초
  10. print("UTC: %d초" % int(utctime))
  11. # 현재 시각 표시: 200x년 x월 xx일 (x요일) xx시 xx분 xx초
  12. print("%d년 %d월 %d일 (%s요일) %d시 %d분 %d초" % (cNow.tm_year, cNow.tm_mon, cNow.tm_mday, weekNames[cNow.tm_wday], cNow.tm_hour, cNow.tm_min, cNow.tm_sec) )
  13. # 1월 1일은 1, 1월 2일은 2
  14. # localtime().tz_isdat == 0 이면, 서머타임 없음
  15. # localtime().tz_isdat == 1 이면, 서머타임 있음
  16. if cNow.tm_isdst == 0:
  17.     strIsDST = "안함"
  18. else:
  19.     strIsDST = "함"
  20. print("올해 몇 번째 날: %d, 서머타임 적용 여부: %s" % (cNow.tm_yday, strIsDST))



실행> python testCTime.py
UTC: 1206324568
2008년 3월 24일 (월요일) 11시 9분 28초
올해 몇 번째 날: 84, 서머타임 적용 여부: 안함


실행> jython testCTime.py
UTC: 1206324572
2008년 3월 24일 (월요일) 11시 9분 32초
올해 몇 번째 날: 84, 서머타임 적용 여부: 안함



다음은 IronPython을 위해 새로 작성된 소스 코드이다.
인코딩에 ms949와 MS949는 에러가 생기고, cp949, CP949, euc-kr, EUC-KR 만 인식된다. 
날짜와 시간 관련 처리는 닷넷(C#)의 것을 따랐다.

  1. # -*- encoding: cp949 -*-
  2. #  Filename: testCTime.py
  3. #  Execute: ipy testCTime.py
  4. from System import *
  5. # Python/Jython/IronPython case
  6. weekNames = [ "월", "화", "수", "목", "금", "토", "일" ]  
  7. cNow = DateTime.Now
  8. StartOfEpoch = DateTime(1970, 1, 1)
  9. # 1970년 1월 1일 0시 0분 0초부터 시작하여 현재까지의 초
  10. print "UTC: %d초" % (Convert.ToInt64((DateTime.UtcNow - StartOfEpoch).TotalMilliseconds)/1000L)
  11. # 현재 시각 표시: 200x년 x월 xx일 (x요일) xx시 xx분 xx초
  12. print("%d년 %d월 %d일 (%s요일) %d시 %d분 %d초" % (cNow.Year, cNow.Month, cNow.Day, weekNames[int(cNow.DayOfWeek)], cNow.Hour, cNow.Minute, cNow.Second) )
  13. # cNow.IsDaylightSavingTime() == False 이면, 서머타임 없음
  14. # cNow.IsDaylightSavingTime() == True 이면, 서머타임 있음
  15. if cNow.IsDaylightSavingTime():
  16.     strIsDST = "함"
  17. else:
  18.     strIsDST = "안함"
  19. print("올해 몇 번째 날: %d , 서머타임 적용 여부: %s" % (cNow.DayOfYear, strIsDST))



실행> ipy testCTime.py
UTC: 1239235489초
2009년 4월 9일 (금요일) 9시 4분 49초
올해 몇 번째 날: 99 , 서머타임 적용 여부: 안함



Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

Posted by Scripter
,