ProgramingTip

PHP의 strtotime ()과 동등한 Javascript?

bestdevel 2020. 10. 14. 08:08
반응형

PHP의 strtotime ()과 동등한 Javascript?


PHP에서는 사용하여 영어 텍스트 날짜로 쉽게 변환 할 수 있습니다 strtotime().

Javascript에있는 것입니까?


이 기사를 찾아서 튜토리얼을 시도했습니다. 으로 날짜 생성자 기본적를 사용하여 날짜를 구문 분석 한 다음 getTime()메서드 에서 초를 가져올 수 있습니다.

var d=new Date("October 13, 1975 11:13:00");
document.write(d.getTime() + " milliseconds since 1970/01/01");

작동?


네, 그렇습니다. 그리고 모든 주요 브라우저에서 지원됩니다.

var ts = Date.parse("date string");

유일한 차이점은이 함수는 초 대신 밀리 초를 반환하는 결과를 1000으로 나누어야합니다.

JavaScript가 구문 분석 할 수있는 유효한 형식을 확인하십시오.


확인 자바 펼쳐에서 PHP의 한 strtotime ()의 구현을!

내가 던진 모든 것에 대해 PHP와 동일하게한다는 것을 알았습니다.

업데이트 : 버전 1.0.2에 따른 기능은이 경우를 처리 할 수 ​​없습니다 : '2007:07:20 20:52:45'( :연도 및 월 구분자 참고 )

2018 업데이트 :

이제 npm모듈 로 사용할 수 있습니다 ! 간단히 npm install locutus그리고 소스에서 :

var strtotime = require('locutus/php/datetime/strtotime');

나는 PHP에서 strtotime ()을 질투하지만 순간을 사용하여 자바 펼쳐에서 내 작업을 수행합니다. PHP에서만큼 달콤하지만 트릭도 깔끔하게 수행합니다.

// first day of the month
var firstDayThisMonth = moment(firstDayThisMonth).startOf('month').toDate();

앞뒤로 이동하여 사용 subtract()add()함께 endOf()과를 startOf():

// last day of previous month
var yesterMonthLastDay = moment(yesterMonthLastDay).subtract(1,'months').endOf('month').toDate();

거의 없지만 PHP의 strtotime과 동일한 동작을 제공하는 모듈은 거의 없습니다. 몇 가지 대안 중에서 date-util 이 최상의 결과를한다는 것을 알았습니다 .


아마도 다음과 같은 샘플 함수를 이용할 수 있습니다.

function strtotime(date, addTime){
  let generatedTime=date.getTime();
  if(addTime.seconds) generatedTime+=1000*addTime.seconds; //check for additional seconds 
  if(addTime.minutes) generatedTime+=1000*60*addTime.minutes;//check for additional minutes 
  if(addTime.hours) generatedTime+=1000*60*60*addTime.hours;//check for additional hours 
  return new Date(generatedTime);
}

let futureDate = strtotime(new Date(), {
    hours: 1, //Adding one hour
    minutes: 45 //Adding fourty five minutes
  });
document.body.innerHTML = futureDate;

`


한국어 구문 분석에 대한 브라우저 지원 이 일치하지 않습니다 . 어떤 형식이 지원되어야하는지에 대한 사양이 없기 때문에 작동하는 것이 다른 브라우저에서는 작동하지 않습니다.

시도 Moment.js를 -그것은을 위해 크로스 브라우저 기능을 제공 일자를 구문 분석 :

var timestamp = moment("2013-02-08 09:30:26.123");
console.log(timestamp.milliseconds()); // return timestamp in milliseconds
console.log(timestamp.second()); // return timestamp in seconds

var strdate = new Date('Tue Feb 07 2017 12:51:48 GMT+0200 (Türkiye Standart Saati)');
var date = moment(strdate).format('DD.MM.YYYY');
$("#result").text(date); //07.02.2017
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script>

<div id="result"></div>

참고 URL : https://stackoverflow.com/questions/4048204/javascript-equivalent-of-phps-strtotime

반응형