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


  1. /*
  2.  *  Filename: testCTime.scala
  3.  *
  4.  *  Compile: scalac -encoding MS949 testCTime.scala
  5.  *  Execute: scala TestCTimeApp
  6.  */
  7. import java.util._
  8. object TestCTimeApp {
  9.     var weekNames : Array[String] = Array( "일", "월", "화", "수", "목", "금", "토" )
  10.     def main(args: Array[String]) {
  11.         def now : Calendar = new GregorianCalendar()
  12.         // 1970년 1월 1일 0시 0분 0초부터 시작하여 현재까지의 초
  13.         // println("UTC: " + (now.getTime().getTime().intdiv(1000L)) + "초")   // for Groovy
  14.         println("UTC: " + (now.getTime().getTime() / 1000L) + "초")
  15.         // 현재 시각 표시: 200x년 x월 xx일 (x요일) xx시 xx분 xx초
  16.         print(now.get(Calendar.YEAR) + "년 ")
  17.         print((1 + now.get(Calendar.MONTH)) + "월 ")
  18.         print(now.get(Calendar.DAY_OF_MONTH) +"일 ")
  19.         print("(" + weekNames(now.get(Calendar.DAY_OF_WEEK)) + "요일) ")
  20.         print(now.get(Calendar.HOUR_OF_DAY) + "시 ")
  21.         print(now.get(Calendar.MINUTE) + "분 ")
  22.         println(now.get(Calendar.SECOND) + "초")
  23.         // 1월 1일은 1, 1월 2일은 2
  24.         print("올해 몇 번째 날: " + now.get(Calendar.DAY_OF_YEAR) +", ")
  25.         // 0 이면 서머타임 없음
  26.         // println("서머타임 적용 여부: " + (now.get(Calendar.DST_OFFSET) == 0 ? "안함" : "함")) // for Groovy
  27.         var strTmp = "안함"
  28.         if (now.get(Calendar.DST_OFFSET) != 0)
  29.             strTmp = "함"
  30.         println("서머타임 적용 여부: " + strTmp)
  31.     }
  32. }



scalac 명령으로 컴파일하고,
생성된 클래스파일(TestCTimeApp.class)을 scala 명령으로 실행한다. 
scala 명령으로 실행할 때는 클래스 파일의 확장자명(.class)을 생략한다.

c -encoding MS949 testCTime.scala
실행> scala TestCTimeApp
UTC: 1236541642초
2009년 3월 9일 (화요일) 4시 47분 22초
올해 몇 번째 날: 68, 서머타임 적용 여부: 안함




크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Scripter
,