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