'TIME'에 해당되는 글 5건

  1. 맥 윈도우 듀얼부팅시 시간이 맞지 않는 현상 해결하기(시간 동기화하기) 1
  2. C# 현재시간 Timestamp 가져오는 함수
  3. 리눅스(Linux) 계열 운영체제에서 시간 동기화하기 1
  4. PHP 날짜/시간 함수
  5. SleepTime - 맥에서 예약잠자기(Sleep)

맥과 윈도우를 듀얼부팅해 사용하는 경우 윈도우에서 원래 시간과 맞지 않는 현상이 나타납니다. 이는 맥은 GMT를 기준으로 시스템 시간을 동기화하고, 윈도우에서는 지역 시간(한국 GMT+9)을 기준으로 동기화하기 때문에 일어나는 현상입니다. 이 문제는 윈도우에서 레지스트리 설정을 수정해 해결할 수 있습니다.



맥 윈도우 듀얼부팅시 시간이 맞지 않는 현상 해결하기(시간 동기화하기)


1. 윈도우 키 + R를 누르면 나오는 실행 창에 'regedit'을 입력하여 레지스트리 편집기를 실행합니다.


2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 로 이동합니다. 오른쪽 흰색 여백에서 오른쪽 클릭 -> 새로 만들기 -> DWORD 값을 선택합니다.


3. 값 이름을 RealTimeIsUniversal로 정해주고, 더블클릭해 값 데이터를 1로 설정해줍니다.



4. 윈도우를 재부팅하고 시간을 맞춥니다. 이제 맥과 윈도우를 번갈아가며 사용하더라도 시간이 달라지지 않습니다.

C#에서 현재 시각의 Unix Timestamp(타임스탬프)를 가져오는 함수입니다.


C# 현재시간 Timestamp 가져오는 함수


  public long UnixTimeNow()

        {

            var timeSpan = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0));

            return (long)timeSpan.TotalSeconds;

        }


위 함수를 호출하면 long 타입으로 '1500502187' 같은 타임스탬프 결괏값을 반환합니다.


'Development > C#' 카테고리의 다른 글

C# 파일 다운로드하기  (0) 2017.07.27
C# 화면 캡처하기  (0) 2017.07.21

일반 컴퓨터나 스마트폰에서의 어느정도의 시간 오차는 봐줄만하지만, 서버같은 경우에는 얘기가 달라집니다.

웹사이트라든지 서버를 기반으로 하는 프로그램들이 서버시간을 기준으로 사용하기 때문인데요,


이런 경우에는 큰 오차가 나면 문제고 되도록이면 오차가 나지 않게 하는것이 좋습니다.





리눅스(Linux) 계열 서버에서 시간 동기화하기


1. 현재 서버시간


먼저 Date를 입력하면 서버의 현재시간을 알 수 있습니다. 또는 http://time.navyism.com에서 서버 도매인을 입력해 시간을 확인할 수 있습니다.



(Date를 입력하면 현재시간을 알 수 있습니다.)



(도매인 입력만으로 그 서버의 시간을 알 수 있습니다. 물론 수강신청할때 많이 쓰입니다.)



2. 시간 동기화


터미널 창에서 동기화하기 위해 'sudo rdate -s time.bora.net'을 입력합니다. 여기서 'time.bora.net'은 동기화를 할 기준이 되는 서버입니다.


위와 같이 입력했는데 아래 사진과 같이 rdate 프로그램이 설치가 되어있지 않다면, 'sudo apt-get install rdate'를 입력하여 설치하세요.





아래는 국내 타임서버 목록들입니다. time.bora.net 서버로 잘 안되는 경우 아래 목록으로 시도해보세요.

국내 타임서버(Time Server)


 1. NTP Primary Time Server(Stratum 1  Server)
   - time2.kriss.re.kr
   - time.bora.net
   - ntp.kornet.net
   - ntp.postech.ac.kr
  

2. NTP Secondary Time Server(Stratum 2 Server)
   - ntp.ewha.net
   - ticktock.ewha.net
   - time.bora.net




3. 주기적으로 자동으로 동기화하기

매번 시간을 맞춰주는 일을 직접 하기는 어렵습니다.  주기적으로 자동으로 시간 동기화가 되도록 설정할 수 있습니다.

(매일 새벽 4시에 자동으로 시간을 동기화하도록 설정할 수 있습니다.)


1. 파일을 하나 생성하고 아래와 같이 내용을 입력해줍니다.(파일제목 ex : time-sync.cron)


 #!/bin/bash

    /usr/bin/rdate -s time.bora.net && /sbin/clock -w



2.만든 파일에 755 권한을 부여해줍니다.(sudo chmod 755 time-sync.cron)





3. 만든 파일을 '/etc/cron.daily'에 복사합니다.(sudo cp time-sync.cron /etc/cron.daily)



이렇게 하면 매일 새벽 4시에 시간이 동기화 됩니다.






도움이 되셨나요?

그럼 손가락을 눌러주세요:)


PHP 코드를 작성할때 날짜나 시간 데이터가 필요한 경우가 있습니다. 아래 함수는 PHP에서 날짜나 시간 데이타를 추출해 내는 코드입니다.

현재 날짜와 시간

date("Y-m-d H:i:s");

//현재 날짜/시간을 포맷(fotmat)에 맞게 date형식으로 출력합니다.

(24시간제로 시간을 출력)

결과 : 2013-06-13 12:00:00 

 

date("Ymd")

//현재 날짜/시간이 출력됨

//예제 : 20070801

 

date("Y-m-d h:i:s");

//현재 날짜/시간을 포맷(fotmat)에 맞게 date형식으로 출력합니다.

(12시간제로 시간을 출력)

 

date("h:i:s");

-- 현재 시간이 출력됨

 

date("Y-m-d H:i:s",time());

//현재 두번째 매개변수을 timestamp형식으로 읽어 날짜/시간을 포맷(fotmat)에 맞게

//date형식으로 출력합니다.

 

date("Y-m-d",strtotime ("-1 months"));

//현재의 날짜인 time형식에서 strtotime에 의해 한달을 뺀 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1 days"));

//현재의 날짜인 time형식에서 strtotime에 의해 하루를 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1 years"));

//현재의 날짜인 time형식에서 strtotime에 의해 1년을 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+24 hours"));

//현재의 날짜인 time형식에서 strtotime에 의해 24시간을 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1500 minutes"));

//현재의 날짜인 time형식에서 strtotime에 의해 1500분을 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1 week"));

//현재의 날짜인 time형식에서 strtotime에 의해 1주일을 더한 time을 date형식으로 변환

 

date("Ymd",strtotime ("-1 days", strtotime('20070819')));

date("Ymd",strtotime ("-1 days", strtotime('2007-08-19')));

// 20070819의 날짜를 timestamp형식으로 변환후 1일을 빼고 다시 timestamp형식으로 변환후

Ymd 형식의 문자열로 출력

 

※ 날짜 형식은 -을 넣거나 빼야 한다. 다른 특수문자는 안됨(2007:08:12)

 

date("Ymd",strtotime ("+1 days",  strtotime('20070819')));

date("Ymd",strtotime ("+1 days",  strtotime('2007-08-19')));

// 20070819의 날짜를 timestamp형식으로 변환후 1일을 더한후 다시 timestamp형식으로 변환후

Ymd 형식의 문자열로 출력

 

※ date 함수의 2번째 인자는 timestamp 형입니다.

※ strtotime 함수의 2번째 인자는 timestamp 형입니다.

 

date( "Y-m-d\TH:i:s", strtotime('20070101040404') );

//정상적으로 처리안됨

date( "Y-m-d\TH:i:s", strtotime('2007-01-01 04:04:04') );

//정상적으로 처리됨(제트센스 rss에서 사용)

 

$timestamp=strtotime('+1 years +1 months +1 days');

//현재 날짜/시간에 years months days hours minutes seconds 단위로 더하여

//timestamp형식으로 리턴합니다.(매개변수 없이 사용불가)

 

문자형 날짜와 문자형 날짜 사이의 일수 구하기

 

<?

echo (strtotime('20070803') - strtotime('20070801'))/60/60/24;

?>

# 2 출력됨

# 문자형 날짜를 초로 계산하여 뺀다음에 일자로 변환해줌(그나마 가장 정확함)

 

응용 함수 모음

 

//오늘 날짜부터 지정한 일수(day)후의 날짜로 timestamp형식으로 출력하기

function plus_day($day)

{

 return mktime(0,0,0,date("m"),date("d")+$day,date("Y"));

}

 

//한줄로 오늘 날짜 시간 뽑아오기

<?

 list($y,$m,$d,$h,$i,$s) = explode(" ",date("Y m d h i s"))

?>


출처 및 참고 사이트 
 
http://zetswing.com/bbs/board.php?bo_table=PHP_LEC&wr_id=13&page=2



도움이 되셨나요?
그럼 손가락을 눌러주세요:)
 
SleepTime



앱스토어에서 겁색하시면 쉽게 다운로드 받으실 수 있습니다.
앱 실행후 아래 사진처럼 상단 표시줄에서 설정할 수 있습니다.


https://itunes.apple.com/kr/app/sleeptime/id465772885?mt=12
다운로드 링크입니다.