[PHP] 두 날짜 사이의 경과 시간 구하기
주어진 두 개의 날짜와 시간(2019-06-30 12:34:56) 사이의 경과 시간을 구하는 코드이다. PHP 5.2 버전 이상에서 사용할 수 있으며 실행은 아래와 같이 한다. 경과 시간은 0년 0달 0일 16시간 23분 40초 처럼 표시된다.
주어진 두 개의 날짜와 시간(2019-06-30 12:34:56) 사이의 경과 시간을 구하는 코드이다. PHP 5.2 버전 이상에서 사용할 수 있으며 실행은 아래와 같이 한다. 경과 시간은 0년 0달 0일 16시간 23분 40초 처럼 표시된다.
php 에서 제공하는 substr 함수 등을 이용해 주어진 문자를 특정 바이트로 잘라야 하는 경우 영문이나 숫자는 문제가 되지 않지만 한글 등 utf-8 문자에서는 마지막 문자가 정상적으로 표시되지 않는 등의 문제가 발생한다. 이런 경우에 사용하고자 아래 함수를 만들었다. getSubstring 함수는 주어진 문자열을 주어진 길이(byte) 만큼 자른 후 리턴한다. 만약 주어진 길이만큼 자를 때 마지막 문자가 정상적인 …
jenkins 에서 git, scp 를 이용한 파일 배포를 rsync 를 이용한 스크립트로 변경했다. 각 서버의 ip는 servers.dat 파일에 지정되어 있고 아래와 같은 형태이다. servers.dat 파일을 쉘 스크립트에서 읽어들인 후 각 서버로 rsync 를 이용해 배포하게 된다. rsync 를 이용하기 위해서는 각 서버에 jenkins 서버의 ssh 키가 미리 등록되어 있어야 한다. 동기화 때 제외될 디렉토리와 파일을 …
jenkins 를 이용해 github webhook 을 이용해 배포를 자동화하는 것을 지난 번에 테스트했다. 이번엔 배포 스크립트에 기능을 좀 더 추가하여 git 을 이용해 수정된 파일의 목록을 구하고 이 파일들만 서버에 배포하는 스크립트를 테스트해본다. 일반적으로 전체 파일을 scp나 rsync 를 이용해 배포하게 되는데 파일이 많을 경우 배포에 시간이 오래 걸릴 수 있기 때문에 수정된 파일만 목록을 …
소스코드는 git 과 github.com 을 이용해 관리 중이다. jenkins를 이용해 github 에 push 됐을 때 git pull 명령을 실행하도록 github.com webhook 연동을 테스트 했다. 우선 jenkins 에서 테스트 프로젝트를 추가하고 아래와 같이 설정했다. 1. jenkins 설정 jenkins 와 github.com webhook 을 연동하기 위해서는 GitHub Integration Plugin 플러그인을 먼저 설치해야 한다. jenkins 설정을 마친 후 github.com …