MySql DateTime 스탬프를 JavaScript의 Date 형식으로 변환합니다.
MySQL을 할 수 사람 요?datetime
의 값( 「」등)을 합니다.YYYY-MM-DD HH:MM:SS
JavaScript에서 합니다.Date()
- MM,YYY, MM, DD, HH, MM, SS);
감사해요!
여기에 제시된 답변 중 일부는 지나치게 복잡하거나 제대로 작동하지 않습니다(적어도 모든 브라우저에서는 그렇지 않습니다).에는 MySQL이 로 하는 인수와 각을 알 수 .Date()
컨스트럭터
필요한 것은 스트링의 매우 간단한 분할뿐입니다.
// Split timestamp into [ Y, M, D, h, m, s ]
var t = "2010-06-09 13:12:01".split(/[- :]/);
// Apply each element to the Date function
var d = new Date(Date.UTC(t[0], t[1]-1, t[2], t[3], t[4], t[5]));
console.log(d);
// -> Wed Jun 09 2010 14:12:01 GMT+0100 (BST)
공정한 경고: 이는 MySQL 서버가 UTC 날짜를 출력하고 있다고 가정합니다(기본값이며 문자열의 시간대 구성요소가 없는 경우 권장).
Andy E의 뛰어난 답변에 덧붙여, 일반적인 용도의 함수는 다음과 같습니다.
Date.createFromMysql = function(mysql_string)
{
var t, result = null;
if( typeof mysql_string === 'string' )
{
t = mysql_string.split(/[- :]/);
//when t[3], t[4] and t[5] are missing they defaults to zero
result = new Date(t[0], t[1] - 1, t[2], t[3] || 0, t[4] || 0, t[5] || 0);
}
return result;
}
날짜이 "MySQL"/"MySQL" 됩니다."YYYY-MM-DD HH:MM:SS"
날짜이라도 상관없습니다."YYYY-MM-DD"
을 사용하다
var d1 = Date.createFromMysql("2011-02-20");
var d2 = Date.createFromMysql("2011-02-20 17:16:00");
alert("d1 year = " + d1.getFullYear());
아무도 언급하지 않은 더 간단한 방법을 찾은 것 같아
MySQL DATETIME 열은 다음을 통해 Unix 타임스탬프로 변환할 수 있습니다.
SELECT unix_timestamp(my_datetime_column) as stamp ...
에폭 이후 밀리초가 걸리는 컨스트럭터를 사용하여 새로운 JavaScript Date 개체를 만들 수 있습니다.unix_timestamp 함수는 에폭 이후 초수를 반환하므로 1000을 곱해야 합니다.
SELECT unix_timestamp(my_datetime_column) * 1000 as stamp ...
결과 값을 직접 사용하여 올바른 Javascript Date 개체를 인스턴스화할 수 있습니다.
var myDate = new Date(<?=$row['stamp']?>);
이게 도움이 됐으면 좋겠다.
최신 브라우저용 라이너(IE10+):
var d = new Date(Date.parse("2010-06-09 13:12:01"));
alert(d); // Wed Jun 09 2010 13:12:01 GMT+0100 (GMT Daylight Time)
그리고 재미삼아, 여기 오래된 브라우저(현재는 수정 완료)에서 사용할 수 있는 한 줄의 내용이 있습니다.
new (Function.prototype.bind.apply(Date, [null].concat("2010-06-09 13:12:01".split(/[\s:-]/)).map(function(v,i){return i==2?--v:v}) ));
alert(d); // Wed Jun 09 2010 13:12:01 GMT+0100 (GMT Daylight Time)
JavaScript의 최신 버전에서는 ISO8601 형식의 날짜를 읽을 수 있으므로 공간을 'T'로 변경하면 다음과 같은 작업을 수행할 수 있습니다.
#MySQL
select date_format(my_date_column,'%Y-%m-%dT%T') from my_table;
#PHP
$php_date_str = substr($mysql_date_str,0,10).'T'.substr($mysql_date_str,11,8);
//JavaScript
js_date_str = mysql_date_str.substr(0,10)+'T'+mysql_date_str.substr(11,8);
Marco의 솔루션에 더 많은 것을 덧붙입니다.String 객체에 직접 프로토타입을 만들었습니다.
String.prototype.mysqlToDate = String.prototype.mysqlToDate || function() {
var t = this.split(/[- :]/);
return new Date(t[0], t[1]-1, t[2], t[3]||0, t[4]||0, t[5]||0);
};
이렇게 하면 다음 페이지로 직접 이동할 수 있습니다.
var mySqlTimestamp = "2011-02-20 17:16:00";
var pickupDate = mySqlTimestamp.mysqlToDate();
sql timestamp 문자열이라는 더 간단한 방법이 있습니다.
2018-07-19 00:00:00
Date()가 수신하는 타임스탬프에 가장 가까운 형식은 다음과 같습니다.따라서 공백으로 "T"를 바꿉니다.
var dateString = media.intervention.replace(/\s/g, "T");
'2011-10-10T14:48:00'
그런 다음 날짜 개체를 만듭니다.
var date = new Date(dateString);
result는 date 객체가 됩니다.
2018년 7월 19일 (목) 00:00 GMT-0300 (호리오 파드랑 드 브라질리아)
Andy's Angular에서JS - 필터
angular
.module('utils', [])
.filter('mysqlToJS', function () {
return function (mysqlStr) {
var t, result = null;
if (typeof mysqlStr === 'string') {
t = mysqlStr.split(/[- :]/);
//when t[3], t[4] and t[5] are missing they defaults to zero
result = new Date(t[0], t[1] - 1, t[2], t[3] || 0, t[4] || 0, t[5] || 0);
}
return result;
};
});
var a=dateString.split(" ");
var b=a[0].split("-");
var c=a[1].split(":");
var date = new Date(b[0],(b[1]-1),b[2],b[0],c[1],c[2]);
먼저 YMD 형식을 컴포넌트로 분할하고 다음 날짜 구성 요소를 사용하여 MySQL의 YMD 날짜 형식을 JavaScript 형식으로 변환하기 위한 새로운 메서드 'fromYMD()'를 JavaScript의 날짜 개체(클래스)에 지정할 수 있습니다.
Date.prototype.fromYMD=function(ymd)
{
var t=ymd.split(/[- :]/); //split into components
return new Date(t[0],t[1]-1,t[2],t[3]||0,t[4]||0,t[5]||0);
};
이제 사용자 자신의 객체(JavaScript 월드 기능)를 정의할 수 있습니다.
function DateFromYMD(ymd)
{
return (new Date()).fromYMD(ymd);
}
MySQL 날짜 형식에서 날짜만 만들 수 있습니다.
var d=new DateFromYMD('2016-07-24');
String date to Date 객체를 제공하기 전에 Js Date() 메서드를 사용하여 다음과 같은 레이아웃을 구성할 수 있습니다.
parseDate(date){
const formated = new Date(date)
return `${formated.getFullYear()}/${formated.getMonth()}/${formated.getDay()}`;
},
Javascript에서 MySQL 타임스탬프를 조작하는 방법
나는 오늘 바로 이 주제를 다루어야 했다.
그래서 제가 공유하고 싶은 두 가지 기능을 섞어서
function mysqlDatetoJs(mysqlTimeStamp){
var t = mysqlTimeStamp.split(/[- :]/);
return new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
}
그리고 나서.
function prettyDate(date) {
var months = ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu',
'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'];
return date.getUTCDate() + ' ' + months[date.getUTCMonth()]
+ ' ' + date.getUTCFullYear();
}
이렇게 역동적인 테이블을 만들 때 사용한 적이 있습니다.
td.innerHTML = prettyDate(mysqlDatetoJs(array[i].data));
TD 결과 날짜 인쇄
4 Set 2021
그 배열[i]을 보면data는 MySQL 테이블의 날짜 레코드이며, 특히 이 응답의 경우 다음 형식으로 제공됩니다.
2021-09-04 11:25:20
도움이 되기를 바라다
이 페이지에서 깨끗한 date() 설명을 찾았습니다.https://www.digitalocean.com/community/tutorials/understanding-date-and-time-in-javascript
unix 타임스탬프를 사용하여 다음을 지시할 수 있습니다.
SELECT UNIX_TIMESTAMP(date) AS epoch_time FROM table;
그런 다음 epoch_time을 JavaScript로 가져오면 다음과 같은 간단한 문제가 발생합니다.
var myDate = new Date(epoch_time * 1000);
1000을 곱하는 것은 JavaScript가 밀리초 걸리고 UNIX_TIMESTamp가 초를 주기 때문입니다.
Google에서 빠른 검색을 통해 다음을 확인할 수 있습니다.
function mysqlTimeStampToDate(timestamp) {
//function parses mysql datetime string and returns javascript Date object
//input has to be in this format: 2007-06-05 15:26:02
var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}
출처 : http://snippets.dzone.com/posts/show/4132
왜 이렇게 하지 않지?
var d = new Date.parseDate( "2000-09-10 00:00:00", 'Y-m-d H:i:s' );
언급URL : https://stackoverflow.com/questions/3075577/convert-mysql-datetime-stamp-into-javascripts-date-format
'programing' 카테고리의 다른 글
빈 결과 세트를 선택하려면 어떻게 해야 합니까? (0) | 2022.11.10 |
---|---|
jQuery를 사용하여 동적 HTML 요소에 이벤트를 첨부하려면 어떻게 해야 합니까? (0) | 2022.11.10 |
JavaScript 어레이를 랜덤화(shuffle)하는 방법 (0) | 2022.11.01 |
시간 간격을 C로 측정하려면 어떻게 해야 하나요? (0) | 2022.11.01 |
JavaScript를 사용하여 다크모드를 검출하려면 어떻게 해야 하나요? (0) | 2022.11.01 |