2014. 5. 7. 18:15 WINDOWS
[CMD/BATCH] 날짜 시간으로 디렉토리(폴더) 생성, 만들기
날짜+시간으로 디렉토리 생성하는 예제 입니다.
.bat로 저장하고 실행하면 됩니다.





@echo off
setlocal

; %date%에서 모든 하이픈(-)을 지워 버림
set date2=%date:-=%

; %time%에서 모든 공백을 0으로 고침 (시각 부분이 zerofill된 게 아니라 그냥 right justify 되어 있어서...)
set time2=%time: =0%

; %time2%의 시각 부분과 분 부분만 잘라 냄
set time3=%time2:~0,2%%time2:~3,2%

; 이제 두 변수를 이어 붙여서 디렉토리 생성
mkdir %date2%_%time3%

endlocal
echo on



2014. 3. 6. 10:30 COMPUTER/JAVA, JSP
[JAVA/JSTL] JSTL 포매터 오류, Cannot convert 2014-02-24 10:43:12.67 of type class java.lang.String to class java.util.Date

2014-02-24 10:43:12.67 을 스트링 클래스를 날짜 클래스로 변경할 수 없습니다


이 오류는 JSTL에서 형 변환을 할 수 없다는 에러 입니다.

fmt:formatDate에 스트링 말고 데이트 형을 주입해야 합니다.

저의 list.employmentParticipator.eventSendDttm 변수가 String 이였습니다.

Date로 고치면서 해결





에러난 소스

<fmt:formatDate value="${list.employmentParticipator.eventSendDttm}" pattern="yyyy-MM-dd"/>


콘솔 에러

Throwable occurred: javax.el.ELException:
Cannot convert 2014-02-24 10:43:12.67 of type class java.lang.String to class java.util.Date
at org.apache.el.lang.ELSupport.coerceToType(ELSupport.java:420)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026)
...
...


eventSendDttm이 지정된 VO 자바파일

...
...
...
private Date updaterDttm; //수정일시
private String eventSendDttm; //이벤트지급
...
...
...
2013. 1. 28. 23:29 COMPUTER/JAVASCRIPT, JQUERY
[JAVASCRIPT/JS] Date, getYear, getMonth, getDate 달력에 년 월 일 계산, 한자리 월, 일에 0 붙이기

자바스크립트로 날짜를 계산하는 예제입니다.

오늘 날짜를 생성한 후에 생성한 날짜 객체에다가 날짜를 변경하여 다시 정의합니다.

 

 

<script src="http://code.jquery.com/jquery.min.js"></script>
<script>
$(document).ready(function(){

	// 날짜 객체 생성
	var date=new Date();

	// 날짜에 10일을 더한 후 재정의
	date=new Date(date.getYear(),date.getMonth(),date.getDate()+10);

	// 날짜를 메세지로 표시한다.
	alert(date.getFullYear()+' '+
		((date.getMonth()+1)<10 ? '0'+(date.getMonth()+1) : (date.getMonth()+1))+' '+
		(date.getDate()<10 ? '0'+date.getDate() : date.getDate() ) );

});
</script>

 

제이쿼리의 온로드에 예제를 작성했습니다.

 

날짜를 계산하고 얼랏으로 확인한 화면

2012. 9. 18. 18:01 PROGRAMMING
[ORACLE] 에러 ORA-01843: 지정한 월이 부적합합니다 , not a valid month ... SqlException

ORA-01843: 지정한 월이 부적합합니다.

ORA-01843: not a valid month ...


대부분 오타일 경우가 많습니다.

변환할수 없는 날짜나 시간으로 TO_DATE함수를 사용하면 발생합니다.


대체 '월'이 뭔뜻인지...



슬래시와 대시가 틀리고, 년월일 순서가 잘못됨

 
UPDATE TABLE_NAME SET
INPUT_DATE=TO_DATE('09/18/2012 00:00','YYYY-MM-DD HH24:MI:SS')
WHERE SEQ=1
 



수정 후

 
UPDATE TABLE_NAME SET
INPUT_DATE=TO_DATE('09/18/2012 00:00','MM/DD/YYYY HH24:MI:SS')
WHERE SEQ=1
 


2012. 9. 18. 16:01 COMPUTER/JAVA, JSP
[JAVA/JSP] 데이트포멧 에러, DateFormat Error, java.lang.IllegalArgumentException: Illegal pattern character 'T' in

 

코딩 중 에러 발생...

 

2012-10-02T12:50 와 같은 날짜를 만드려고 포멧 스트링에 T를 적었습니다.

 

Unexpected Exception occurred - java.lang.IllegalArgumentException:

Illegal pattern character 'T' in "yyyy-MM-ddTHH:mm:ss"

 

데이트 포맷 스트링에 T를 잘못사용 했다는 에러 입니다.

 

 
하여 역슬레쉬 (\T)로 해봤지만 소용없음

 

 

대신 따옴표를 앞뒤로 붙이면 됩니다.


//잘못된 사용법
 
Calendar calendar=Calendar.getInstance(TimeZone.getTimeZone("Asia/Seoul"));
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss");
String strBuf=dateFormat.format(calendar.getTime());
 


//올바른 사용의 예~

Calendar calendar=Calendar.getInstance(TimeZone.getTimeZone("Asia/Seoul")); 
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
String strBuf=dateFormat.format(calendar.getTime());
 


2012. 1. 3. 10:04 PROGRAMMING
[JAVA] 자바 달력 날짜 사용법, 현재날짜, 현재시간, 24시 java.util.Calendar
년, 월, 일, 시, 분, 초, 24시, 밀리초, 요일 구하기

소스 
import java.util.Calendar;

public class Calendar{
	public static void main(String args[]){
		Calendar calendar=Calendar.getInstance( );
		System.out.println("YEAR "+calendar.get(Calendar.YEAR));
		System.out.println("MONTH "+calendar.get(Calendar.MONTH)+1);
		System.out.println("DAY OF MONTH "+calendar.get(Calendar.DAY_OF_MONTH));
		System.out.println("HOUR OF DAY "+calendar.get(Calendar.HOUR_OF_DAY)); // 24시간
		System.out.println("MINUTE "+calendar.get(Calendar.MINUTE));
		System.out.println("SECOND "+calendar.get(Calendar.SECOND));
		System.out.print("HOUR AM/PM "+calendar.get(Calendar.HOUR));
		if (calendar.get(Calendar.AM_PM)==0) System.out.println("AM");
		else System.out.println("PM");

		System.out.println("MILLISECOND "+calendar.get(Calendar.MILLISECOND));
		System.out.println("DAY OF WEEK "+calendar.get(Calendar.DAY_OF_WEEK)); // 일요일= 1
		System.out.println("DAY OF YEAR "+calendar.get(Calendar.DAY_OF_YEAR)); // 1월1일=1
		System.out.println("WEEK OF YEAR "+calendar.get(Calendar.WEEK_OF_YEAR)); // 1월1일=1
		System.out.println("WEEK OF MONTH "+calendar.get(Calendar.WEEK_OF_MONTH)); // 첫째주=1
	}
}


결과
YEAR 2012
MONTH 01
DAY OF MONTH 3
HOUR OF DAY 10
MINUTE 0
SECOND 31
HOUR AM/PM 10AM
MILLISECOND 852
DAY OF WEEK 3
DAY OF YEAR 3
WEEK OF YEAR 1
WEEK OF MONTH 1

2010. 10. 5. 12:45 COMPUTER/JAVA, JSP
[JAVA/JSP] 날짜용 유틸 함수
자바에서 날짜처리할때 사용하는 함수들 입니다.
파일명.java로 저장
클래스명은 파일명과 맞춰주세요.

package common.util;

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

public class 클래스명
{
    private static Date date;
    private static Calendar cal;
    private static String result;
    private static String pattern = "yyyy년 M월 d일  a h시 m분";
    private static SimpleDateFormat formatter;
    private static Locale nation = new Locale("ko","KOREA");

    /**
     * 내용  : 오늘 날짜를 Default Format으로 return
     * 입력 값 :
     * 출력 값 : String result
     */
    public static String getToday()
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        formatter = new SimpleDateFormat(pattern, nation);
        result = formatter.format(date);
        return result;
    }
   
    /**
     * 내용  : 오늘 날짜를 입력한 Format으로 return
     * 입력 값 : String datePattern
     * 출력 값 : String result
     */
    public static String getToday(String datePattern)
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        formatter = new SimpleDateFormat(datePattern, nation);
        result = formatter.format(date);
        return result;
    }

    /**
     * 내용  : 원하는 시기의 일단위로 입력한 숫자에 해당하는 날짜를 Default Format으로 return
     * 입력 값 : int change
     * 출력 값 : String result
     */
    public static String getDayDate(int change)
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        formatter = new SimpleDateFormat(pattern, nation);
  cal.add(Calendar.DATE, change);
  Date setDate = cal.getTime();
  result = formatter.format(setDate);
  return result;
    }

    /**
     * 내용  : 원하는 시기의 일단위로 입력한 숫자에 해당하는 날짜를 입력한 Format으로 return
     * 입력 값 : String datePattern, int change
     * 출력 값 : String result
     */
    public static String getDayDate(String datePattern, int change)
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        formatter = new SimpleDateFormat(datePattern, nation);
  cal.add(Calendar.DATE, change);
  Date setDate = cal.getTime();
  result = formatter.format(setDate);
  return result;
    }

    /**
     * 내용  : 원하는 시기의 주단위로 입력한 숫자에 해당하는 날짜를 Default Format으로 return
     * 입력 값 : int change
     * 출력 값 : String result
     */
    public static String getWeekDate(int change)
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        change = change * 7;
        formatter = new SimpleDateFormat(pattern, nation);
  cal.add(Calendar.DATE, change);
  Date setDate = cal.getTime();
  result = formatter.format(setDate);
  return result;
    }

    /**
     * 내용  : 원하는 시기의 주단위로 입력한 숫자에 해당하는 날짜를 입력한 Format으로 return
     * 입력 값 : String datePattern, int change
     * 출력 값 : String result
     */
    public static String getWeekDate(String datePattern, int change)
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        change = change * 7;
        formatter = new SimpleDateFormat(datePattern, nation);
  cal.add(Calendar.DATE, change);
  Date setDate = cal.getTime();
  result = formatter.format(setDate);
  return result;
    }

    /**
     * 내용  : 원하는 시기의 월단위로 입력한 숫자에 해당하는 날짜를 Default Format으로 return
     * 입력 값 : String datePattern, int change
     * 출력 값 : String result
     */
    public static String getMonthDate(int change)
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        formatter = new SimpleDateFormat(pattern, nation);
  cal.add(Calendar.MONTH, change);
  Date setDate = cal.getTime();
  result = formatter.format(setDate);
  return result;
    }

    /**
     * 내용  : 원하는 시기의 월단위로 입력한 숫자에 해당하는 날짜를 입력한 Format으로 return
     * 입력 값 : String datePattern, int change
     * 출력 값 : String result
     */
    public static String getMonthDate(String datePattern, int change)
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        formatter = new SimpleDateFormat(datePattern, nation);
  cal.add(Calendar.MONTH, change);
  Date setDate = cal.getTime();
  result = formatter.format(setDate);
  return result;
    }

    /**
     * 내용  : 원하는 시기의 년단위로 입력한 숫자에 해당하는 날짜를 Default Format으로 return
     * 입력 값 : String datePattern, int change
     * 출력 값 : String result
     */
    public static String getYearDate(int change)
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        formatter = new SimpleDateFormat(pattern, nation);
  cal.add(Calendar.YEAR, change);
  Date setDate = cal.getTime();
  result = formatter.format(setDate);
  return result;
    }

    /**
     * 내용  : 원하는 시기의 년단위로 입력한 숫자에 해당하는 날짜를 입력한 Format으로 return
     * 입력 값 : String datePattern, int change
     * 출력 값 : String result
     */
    public static String getYearDate(String datePattern, int change)
    {
        date = new Date();
        cal = Calendar.getInstance();
        cal.setLenient(true);
        cal.setTime(date);
       
        formatter = new SimpleDateFormat(datePattern, nation);
  cal.add(Calendar.YEAR, change);
  Date setDate = cal.getTime();
  result = formatter.format(setDate);
  return result;
    }

 /**
     * 내용  : form부터 to까지 일수를 구하여 결과값 return
     * 입력 값 : String from, String to, String pattern
     * 출력 값 : int result
     */
 public static int daysBetween(String from, String to, String pattern)
 {
  SimpleDateFormat format = new SimpleDateFormat(pattern, Locale.KOREA);
  Date date1 = null;
  Date date2 = null;

  try
  {
   date1 = format.parse(from);
   date2 = format.parse(to);
  }
  catch(ParseException e)
  {
   return -999;
  }

  if(!format.format(date1).equals(from))
  {
   return -999;
  }
  
  if(!format.format(date2).equals(to))
  {
   return -999;
  }

  long duration = date2.getTime() - date1.getTime();

  return (int)(duration/(1000 * 60 * 60 * 24));
 }
}



2010. 10. 5. 09:37 COMPUTER
[ORACLE] 오라클에 DATE타입으로 INSERT / SELECT, ORA-01861: 리터럴이 형식 문자열과 일치하지 않음
오라클 날짜형식으로 된 컬럼의 입/출력 쿼리


- 입력 (INSERT)

INSERT INTO TABLE1 (REG_DATE) VALUES ( TO_DATE('10-04-2010 20:37:50','MM-DD-YYYY HH24:MI:SS') )
INSERT INTO TABLE2 (REG_DATE) VALUES ( SYSDATE )


- 출력 (SELECT)
SELECT TO_CHAR(REG_DATE,'YYYY-MM-DD HH24:MI:SS') FROM TABLE1



TO_DATE에서 형식을 똑바로 맞추지 못하면 나는 에러입니다.

2010. 7. 6. 17:09 COMPUTER/JAVASCRIPT, JQUERY
[JAVASCRIPT/SCRIPT] 디데이(D-Day), 지난날짜 계산하기

1. getTime() 메소드는 1970년 0시 0분 0초부터 해당시간까지의 밀리세컨드 타임으로 반환합니다.
2. 특정날짜와 현재시간을 getTime()으로 시간차를 얻은 후, 8640000으로 나누면 두날짜의 차이를 구할 수 있습니다.


예제1
var now=new Date();
var then=new Date("august 26, 2009");
var gap=now.getTime()-then.getTime();
gap=Math.floor(gap/ (1000*60*60*24));
document.write(now.getTime()+" "+then.getTime()+" "+(now.getTime()-then.getTime())+"<br>");
document.write(gap+"<br>");

 

예제2
var now=new Date();
var dday=new Date();
dday.setYear(2009);
dday.setMonth(8-1);
dday.setDate(23);
var togo=dday.getTime()-now.getTime();
var days=Math.abs(Math.floor(togo/(1000*60*60*24)));
document.write(days+'일');

최근에 올라온 글

최근에 달린 댓글