KIC/JAVA

day24 - JAVA (자바 , SimpleDateFormat, DecimalFormat, parse, Math, Calendar)

바차 2021. 7. 17. 21:59
반응형

[SimpleDateFormat 예제]

package javaPro.java_string;

import java.text.SimpleDateFormat;
import java.util.*;

public class DateEx2 {
    public static void main(String[] args) {
        Date now = new Date();//현재시간 객체를 리턴
        System.out.println(now);
        SimpleDateFormat sf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss E a");

        String dispDate = sf.format(now)
    }
}

 

 

 

 

 

 

[DecimalFormat 예제]

package javaPro.java_string;

import java.text.DecimalFormat;
import java.text.ParseException;

public class DecimalFormatEx1 {
   public static void main(String[] args) {
       DecimalFormat df1 = new DecimalFormat("#,###.##");
       DecimalFormat df2 = new DecimalFormat("000,000");

       try{
           Number num = df1.parse("1,234.56"); // String -> Number
           double d = num.doubleValue();

           System.out.println(d + "- > " + df1.format(num)); //Number -> String
           System.out.println(d + "- > " + df2.format(num)); //Number -> String

       }
       catch(ParseException e){
            e.printStackTrace();
       }

   } 
}

 

 

 

 

 

 

[parse 예제]

package javaPro.java_string;

import java.io.File;
import java.text.MessageFormat;
import java.util.*;

public class MessageFormatEx3 {
    public static void main(String[] args) throws Exception {

        String tableName = "CUST_INFO"; 
        String fileName = "C:/Users/KYM/Documents/vscode/java/javaPro/data4.txt";
        
        String msg = "INSERT INTO "+ tableName + " VALUES ({0},{1},{2},{3});"; // parse 할땐 띄어쓰기도 매우 중요하다. 기억할 것       
        Scanner s = new Scanner(new File(fileName));      
        String pattern = "{0},{1},{2},{3}";       
        MessageFormat mf = new MessageFormat(pattern);       
        while(s.hasNextLine()) {       
            String line = s.nextLine(); 
            Object[] objs = mf.parse(line);       
            System.out.println(MessageFormat.format(msg, objs));       
        }       
        s.close(); // Scanner 닫기
        } // main
}

 

 

 

 

 

 

 

 

[Math 함수 예제]

package javaPro.java_string;

public class MathEx2 {
    public static void main(String[] args) {
        System.out.println("Math.sin(Math.PI/2)=" + Math.sin(Math.PI/2));
        System.out.println("Math.cos(Math.toRadians(60))=" + Math.cos(Math.toRadians(60)));
        System.out.println("Math.tan(Math.PI/4)=" + Math.tan(Math.PI/4));
        System.out.println("Math.log(Math.E)=" + Math.log(Math.E));
        System.out.println("Math.sqrt(25)="+Math.sqrt(25));
        System.out.println("Math.pow(5,2)="+Math.pow(5,2));
      }
}

 

 

 

 

 

 

 

 

 

[Calendar 예제]

package javaPro.java_string;

import java.util.Calendar;

public class CalendarEx1 {
    public static void main(String[] args) {
        int year = 2021;
        int month = 7;
    
    
        Calendar sDay = Calendar.getInstance();
        Calendar eDay = Calendar.getInstance();
        
        //월의 경우 0부터 11까지의 값을 가지므로 1을 빼주어야 한다.
        //예를 들어, 2021년 7월 1일은 sDAy.set(2021, 6, 1); 과 같이 해줘야 한다.
        sDay.set(year, month-1, 1); // 2021, 7, 1
        eDay.set(year, month, 1);// 2021, 8, 1

        //다음달의 첫 날에서 하루를 빼면 현재달의 마지막 날이 된다.
        // 12월 1일에 하루를 빼면 11월 30일이 된다.

        eDay.add(Calendar.DATE, -1);


        // 첫번째 요일이 무슨 요일인지 알아낸다.
        int START_DAY_OF_WEEK = sDay.get(Calendar.DAY_OF_WEEK);

        //eDAY에 지정된 날짜를 얻어온다.
        int END_DAY = eDay.get(Calendar.DATE);
        System.out.println("1일의 요일: " + START_DAY_OF_WEEK);
        System.out.println("마지막 일: " + END_DAY);
        System.out.println("      " + year + "년 " + month + "월");
        System.out.println(" SU MO TU WE TH FR SA");
        //해당 월의 1일이 어느 요일인지에 따라서 공백을 출력한다.
        // 만일 1일이 수요일이라면 공백을 세번 찍는다. (일요일부터 시작)
        for(int i=1; i < START_DAY_OF_WEEK; i++){
            System.out.print("   ");
        }
        for(int i = 1, n=START_DAY_OF_WEEK; i<=END_DAY; i++, n++){
            System.out.print((i<10)? "  "+i : " "+i);
            if(n%7==0) System.out.println();
        }
        


        
    }

}
300x250