자바로 날짜를 출력하는 방법은 4가지 정도가 있습니다.
각각의 방법에 따라 편하신대로 사용하시면 좋을 것 같습니다.
Thread를 이용한 시간출력 로직입니다.
추천은 블로거에게 큰 힘이 됩니다(로그인 불필요) 양질의 정보로 보답하겠습니다.
package day06;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
class Time extends Thread{
public void run(){
int i=0;
while(true){
Date dt = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss") ;
String disp = sdf.format(dt);
i++;
System.out.println( i + "회 현재시간" + disp);
try{ Thread.sleep(2000);} catch(Exception ex){}
}//while end
}//run() end
}//class END
public class ExamThread {
public static void main(String[] args){
System.out.println("main 시작\n");
//2초 단위로 시간을 출력해보겠습니다.
Time t = new Time();
t.start(); // 실행함수
Timestamp time = new Timestamp(System.currentTimeMillis());
System.out.println("stamp\t" + time.toString());
System.out.println("\nmain 끝");
}//main end
}//class END
위의 코드 + join 사용한 2초 단위 시간 5회 출력
로직 설명 : "main 시작" 출력 후 1초 단위로 시간을 5회 출력합니다. 이후 "main 끝" 출력 후 빠져나오기
package day06;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
class Time extends Thread{
public void run(){
int i=0;
while(true){ //무한루프
Date dt = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss") ;
String disp = sdf.format(dt);
i++;
System.out.println( i + "회 현재시간" + disp);
try{ Thread.sleep(1000);} catch(Exception ex){}
}//while end
}//run() end
}//class END
public class ExamThread {
public static void main(String[] args){
System.out.println("main 시작\n");
Time t = new Time();
t.setDaemon(true); //join에서 지정한 만큼만 출력하고 끝내버리도록 해준다.
t.start(); // 실행함수인 run() 호출
try{ t.join(5000); } catch(Exception ex){}
Timestamp time = new Timestamp(System.currentTimeMillis());
System.out.println("stamp\t" + time.toString());
System.out.println("\nmain 끝");
}//main end
}//class END
Calendar 이용하기
package day06;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
class Time extends Thread{
public void run(){
int i=0;
while(true){ //무한루프
Date dt = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss") ;
String disp = sdf.format(dt);
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
i++;
//System.out.println( i + "회 현재시간" + disp );
//System.out.println( i + "회 현재시간" +year + "-" + (month+1) + "-" + day );
System.out.println( i + "회 현재시간"+ dt.toString() );
try{ Thread.sleep(1000);} catch(Exception ex){}
}//while end
}//run() end
}//class END
public class ExamThread {
public static void main(String[] args){
System.out.println("main 시작\n");
Time t = new Time();
t.setDaemon(true); //join에서 지정한 만큼만 출력하고 끝내버리도록 해준다.
t.start(); // 실행함수인 run() 호출
try{ t.join(5000); } catch(Exception ex){}
Timestamp time = new Timestamp(System.currentTimeMillis());
System.out.println("stamp\t" + time.toString());
System.out.println("\nmain 끝");
}//main end
}//class END
Timestamp 이용한 출력을 한 번 더 해보도록 하겠습니다.
위에서 사용된 부분과 비교해서 한번 보시면 될 것 같습니다.
package day06;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.*;
class Time extends Thread{
public void run(){
int i=0;
while(true){ //무한루프
Date dt = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd HH:mm:ss") ;
String disp = sdf.format(dt);
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH);
Timestamp time = new Timestamp(System.currentTimeMillis());
i++;
//System.out.println( i + "회 현재시간" + disp );
//System.out.println( i + "회 현재시간" +year + "-" + (month+1) + "-" + day );
//System.out.println( i + "회 현재시간"+ dt.toString() );
System.out.println( i + "회 현재시간"+ time.toString() );
try{ Thread.sleep(1000);} catch(Exception ex){}
}//while end
}//run() end
}//class END
public class ExamThread {
public static void main(String[] args){
System.out.println("main 시작\n");
Time t = new Time();
t.setDaemon(true); //join에서 지정한 만큼만 출력하고 끝내버리도록 해준다.
t.start(); // 실행함수인 run() 호출
try{ t.join(5000); } catch(Exception ex){}
Timestamp time = new Timestamp(System.currentTimeMillis());
System.out.println("stamp\t" + time.toString());
System.out.println("\nmain 끝");
}//main end
}//class END
'IT > Java' 카테고리의 다른 글
두더지 게임 소스 2-1 (1) | 2013.08.16 |
---|---|
두더지 게임 (0) | 2013.08.16 |
awt 기본(화면 띄우기) (0) | 2013.08.07 |
Interface(인터페이스) (0) | 2013.07.01 |
Java의 Generic(제너릭) 원리(간단정리) (0) | 2013.06.25 |