자바로 날짜 스트링을 받아 설정해 놓은 날짜보다 큰지 작은지 비교하는 방법이다. 예를들어 한달 무료 사용이라고 했을때 한달날짜가 지났는지 체크하려고 한다. public class NowDate{ public static boolean isBefore(){ boolean rst=false; String nowStr="20230104"; String dueStr="20230204"; DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyyMMdd"); LocalDate nowDate=LocalDate.parse(nowStr, formatter); LocalDate dueDate=LocalDate.parse(dueStr,formatter); rst=nowD..
자바 날짜 다루는 것은 자바8 부터 쉬워졌다. 자바8 기준으로 설명하면 LocalDate now=LocalDate.now(); System.out.println(now); 하면 현재 년-월-일 이 찍힌다. 2022-12-15 이런식으로.. LocalDate이니 날짜만 다룬다. 시간까지 다룰려면 LocalTime 등을 쓰면 된다. 최근 6개월을 구하는게 목적이니.. for(int i=6;i>=1;i--){ now=now.minusMonts(1); } now를 찍어보면 2022-11-15 2022-10-15 2022-09-15 2022-08-15 2022-07-15 2022-06-15 이렇게 현재달 빼고 이전 6개월이 출력된다. 일은 필요없고 년-월만 필요할 경우는 DateTimeFormatter 를 추가한..
이상하네.. 로컬에서 잘 되서 개발에 올렸는데 404 File Not Found 페이지를 찾을 수 없습니다 라는 오류가 발생했다. 이런저런 삽징을 해보다가 FileZilla FTP 프로그램으로 폴더채로 업로드를 했는데 파일 일부가 업로드가 안되었다. 어찌 이런일이 있을 수 있는지.. 폴더안에 파일이 3개가 있었는데 2개만 올라가 있었다. 예전에 알 FTP가 일부 파일이 업로드가 안되서 파일질라만 썼는데 여기서도 이런문제가 발생하다니...
자바 개발을 하다보면 소수점 계산을 해야할 일이 생긴다. 자바든 뭐든 나눗셈 계산에서도 가장 먼저 신경써야 할 것이 분모가 0일 경우다. 분모가 0이면 java.lang.ArithmeticException: / by zero 가 발생하니 주의해야 한다. 그래서 나눗셈 계산할 때는 if(plan!=0){ } 이런식으로 0이 아닌경우만 계산하는 방법도 있다. 또하나 분모를 double로 해줘야 한다. double d=done/(double) plan; 그리고 소수점 몇째자리 까지 표시를 해주는 방법은 String.format("%.0f", beforePct); %.0 에서 0은 소수점이 없다는 것이고 %.1은 소수점 1자리 %.2는 소수점 둘째자리 까지 표시한다는 의미이다. 아님 Math.round 를 사용..
자바 오늘 한달전 날짜 localdate 를 사용해서 알아보자. 자바 날짜는 자바 8 이전, 이후로 나뉘는데 여기서는 자바 8 이후로 알아본다. LocalDate now=LocalDate.now(); LocalDate oneMonthAgo = now.minusMonths(1); 이클립스 에서 now. 찍어보면 minus plus 등 수 많은 날짜 관련 메소드들이 나오니 원하는것을 선택해서 날짜계산을 하면 된다. 추가로 immutable이라서 날짜 now는 minus, plus를 해도 변동되지 않는다. 때문에 minus, plus를 아무리해도 그것을 받아주는 변수가 없다면 무용지물이다. 예를들어 now.minusMonths(1) 만 하면 now값은 변하지 않고 변한 값을 사용하고 싶으면 LocalDate ..
자바 프로그래밍을 하다가 Exception in thread "main"java.util.MissingResourceException; ResourceBundle Can;t find bundle for base name 이런 에러가 났다. 흠.. 뭐지.. 삽질 시작.. ocpjp 의 간단한 코딩이였다. public class ResourcesApp90{ public void loadResourceBundle(){ ResourceBundle resource=ResourceBundle.getBundle("Greegins", Locale.US); System.out.print(resource.getObject("HELLO_MSG")); } public static void main(String[] args) ..
자바 개발을 할때 코딩 컨벤션 coding convention, naming rule을 지키는게 매우 중요하다. 그래서 좋을 글이 있어서 참조 합니다. https://wikidocs.net/16995 명명규칙 표준시스템을 개발하는데 있어 표준 Naming Rule을 적용하여 개발자 및 운영자가 분석 및 코딩하는데 있어 좀더 쉽게 접근할 수 있도록 표준 Naming Rule을 적용한다시스템 개발코드시스템 영역별 코드를 분류한다ex) ~ 시스템 -> portalSystemPackage, Java class, Java archive 명명 규칙모든 Java class는 영문 대소문자를 혼용할 수 있지만, 반드시 명사를 사용하고 시작 글자를 대문자로 지정하며 camel case에 준하여 작성한다기능명이 postf..
자바 스프링 개발시 이상하게 서버 오류 메시지가 발생하지 않고 화면에서도 에러가 발생하지 않았다. 흠.. 어떻게 찾지.. 디버깅을 이것저것 삽질하다보니 컨트롤러에서 @ResponseBody 어노테이션을 쓰지 않아서 자바 Map을 바로 전달했더니 화면에서는 jsonAjax로 호출했는데 자바 맵 오브젝트를 받을 수가 없어서 나는 오류인듯 했다. 그래서 Controller의 메소드에 @ResponseBody를 붙어 json으로 리턴을 보냈더니 화면 jsonAjax 리턴 받는 곳에서 잘 받아졌다. 그러고 보니 화면단에서 쓰이는 ajax는 자바가 아니라서 자바 object를 인식하지 못한다. 반드시 @ResponseBody를 사용하여 json 형식으로 리턴해야 한다.
Text '202209'could not be parsed: Unable to obtain LocalDate from TemporalAccessor: 자바 스트링을 자바 날짜로 변환하려고 했는데 위와같은 에러가 났다. String verifyDt="202209"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMM", Locale.KOREA); LocalDate date=LocalDate.parse(verifyDt, formatter); 난 년월 (예: 202209)만 보내서 하려고 했는데 안되는것 같다. 그래서 일까지 붙였다. String verifyDt="20220901"; DateTimeFormatter formatter = Date..
Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'DESC' 이런 에러가 발생하였다. 이상하네.. 쿼리문도 이상할게 없는데.. 알고보니.. 설명이라는 컬럼이 있어서 컬럼명을 DESC로 했는데 DESC가 쿼리문의 예약어라서 그런것 같았다. 그래서 DESC를 다른것으로 바꾸어주니 되었다. 흠.. 하이디 Heidi SQL에서 예약어는 파란색으로 표시해주었으면 알았을 텐데.. 테이블 생성시에는`DESC`..
- Total
- Today
- Yesterday
- ocjap
- C
- ocpjp
- EC
- ocajp
- 파싱
- 문자열
- xe addon
- 자바 smtp
- 포인터
- webix
- 자바 셀레니움
- 스크래핑
- 오라클
- php
- 프로씨
- Python
- 파이썬
- proc
- xe애드온
- C언어
- 자바
- 이클립스
- XE3
- 인포믹스
- XE
- MySQL
- JDBC
- KG
- esql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |