날짜 년 범위 드루팔 호스팅

오후 1시 46분 3 월 (30) 2012 arlinsandbulte에 의해 게시 됨

나는이 논쟁의 주제가 될 것입니다 알고있다. 그래서 나는 전투를 머리 바로 토론 자신을 시작할 것입니다.
카렌족은 날짜 모듈의 향후 버전에 대한 유일한 지원되는 형식으로 ISO 포맷을 채택 제안했다 (7.x의-3.X에있는 contrib 8.x의 핵심!). 나는이 제안에 찬성 100 %입니다.

그것은 지원을 단순화 개발 멀티 플랫폼 호환성. (유닉스 타임 스탬프, 날짜 등) 많은 날짜 형식 표준, 그것은 날짜 부분과 가장 유연성을 제공 시간 세분성 제어를 생략 할 수있다 모호.
PHP의 새로운 날짜 함수는 이전보다 쉽게 ​​모든 형식의 날짜로 작업합니다. 그래서, 기존의 유닉스 타임 스탬프 형식이 번처럼 장점에 '사용 편의성'을 보유하고 있다고 생각하지 않습니다.
그러나 우리는 또한 단점을 인정해야 이 제안의 제한 (제 악마의 옹호자 모자를 씌우고) :

호스팅 많은 그것을 위해가는 날짜 년 범위 드루팔, 많은
  1. 는 ISO 날짜 형식은 기본적으로 (MySQL은 같은) 모든 데이터베이스를 지원하지 않습니다. 그래서 우리는 데이터베이스의 VARCHAR 문자열로 ISO 날짜 값을 저장 계획. 날짜 쿼리는 특정 날짜를 찾을 문자열 쿼리를 사용하여 만들 수 있습니다 (예를 들어, 2012 년 모든 날짜). 기능적으로, 나는 THRE 그 어떤 문제가 있다고 생각하지 않습니다. 또한 단지없이 또는 최소한의 데이터베이스 특정 해킹이나 직장 어라운드있는 모든 데이터베이스 유형에 대해 지원하면서, 그 계획을 이행 할 수 있어야한다. 그러나, 어떤 성능에 대한? 는 '진짜'기본 데이터베이스 날짜 값에 대한 문자열 쿼리를 수행 얼마 성능 저하의가?
  2. 드루팔 코어 (<=7.x) uses the unix timestamp format to store date & time information, most notably, for content created/updated dates. Going along with the current trend of making all content parts fields (body, terms, even titles), it might be desirable to make the created or updated date a real 'date field' too. What are the implications of this? Would all Drupal dates (like node created/updated dates) be converted to the ISO format? Or would we keep 2 different date types mixed into core?

이것은 내 시간 전에이었다, 그러나 나는 날짜의 초기 버전이 실제로 별도의 데이터베이스 컬럼의 날짜 (년, 월, 일,시, 분, 초)의 각 부분을 저장 생각합니다. 그 전략은 정수 저장 형식을 수 있습니다.
하지만 내가보기 엔 그 전략은 가치가 의심한다. 그렇지 않으면 입증하지 않는 한, 나는 그것을 지원하지 것이다.
/ 나 (-) 내 자신의 포스트 :-)을 투표

난 정말 여기에 명확한 기술 인수를 누락.

여기에 제안 된대로 ISO 날짜 형식 구문은, 주로 표시하고 (예를 들어, 백엔드 (PHP)와 프론트 엔드 (JavaScript)를 사이에) 다른 독립적 인 파티를 통해 최신 정보를 전달을 위해 의미가 있습니다.

구문 너무 유연 때문에 ( "텍스트"이외 때문에 정말로 데이터 유형), 날짜 데이터를 저장 및 조회하기위한 구문 및 / 또는 데이터 형식 정말 적합 아니다.

  1. 날짜 / 날짜 시간과 ISO 날짜 형식 사이의 실제 차이점은 무엇입니까?

옆으로 "T"에서? en.wikipedia.org/wiki/Iso_date_format는 ISO 구문에 더 많은 구분 기호를 설명하지만 다소 의심의 여지 우리는 그들의 사용을 허용하는 거라고 - 예측 / 일관된 방식으로 데이터를 조회 할 수있는을 위해?

형식을 호스팅보다 쉽게 ​​날짜 년 범위 드루팔

예를 들면 우리는 달력 / 날짜 / 시간 구문 내에 표시하기 위해 다른 주에 날짜 구문 (2012-W13-5) 또는 서수 날짜 구문을 허용하려는 경우 당신이를 맞춰야하는 고급 날짜 계산을 수행 할 필요가 있기 때문에, 기록은 더 이상 날짜를 기준으로 필터링 할 수 없습니다 먼저 데이터.

(동일한 구성 요소는 누락에 실패 조작 / 정렬 문자열 기반 필터 이후의 일자 / 시간을 더 세분화 된 구성 요소를 생략 적용).

  • 기록 (예)의 수백만을 들고 테이블의 컬럼에 대한 작업을 하위 문자열은 끔찍하게 느린 것입니다.

    데이터베이스 엔진이 쿼리를 최적화 할 수있는 인덱스 또는 기본 기능을 사용할 수 있기 때문이다. 대형 데이터 세트에서 하나의 데이터베이스 쿼리 (초)의 성능에 미치는 영향 (안 밀리 초)을 의미.

  • 위 감안할 때, 나는 아주 기본 DATETIME 또는 데이터베이스 엔진의 해당 데이터 형식이 잘못 것을 얻을하지 않습니다?

    표준 SQL 거의 동일한 기본 형식, 같은 ISO 8601을 정의합니다.

    (예, SQLite는 단지 텍스트 문자열을 지원하지만 가능성이 매우 어쨌든 엔진에 제한되도록 SQLite는은, 어느 쪽이든 많은 데이터 유형을 지원하지 않습니다.)

    적절한 데이터 형식을 인덱싱 할 수있는 값의 고유 필터링 및 정렬을 허용한다. SQL 쿼리에서 취급 UNIX 타임 스탬프를 다루는만큼 간단합니다.

    개인 (세분화 된) 날짜 구성 요소는 생략 할 수 없지만, 간결하고 정확한 데이터 저장을 위해, "올 데이 '와 유사한 같은 속성은 별도로 날짜 어느 쪽이든 당 깃발을 보관해야한다 (그들이하지 않는 한 특정 추가 사용 사례입니다 처음부터 모든 날짜에 적용, 예를 들면되지 컨텐츠 생성 날짜를 수정)합니다.

    우리가 핵심으로 그것을 얻을 수 있다면 기본 날짜 필드를 사용하여 상관 없어. 그러나 나는 이미 그 싸움을 싸우고 시도 잃었다. 그리고 나는 핵심 커미터 핵심에있는 날짜 필드를 허용하지 않습니다 풍부하게 명확하게 된 때 기본 날짜 필드를 사용하는 솔루션을 만들 않을거야.

    오후 4시 41분 4 월 10 일 2012 arlinsandbulte에 의해 게시 됨

    MM : SS 형식 일관성을 쉽게 검색 및 정렬을 유지하기 위해 나는 우리가 YYYY-MM ISO 형식으로 저장된 ISO 형식을 제한해야합니다 생각한다.
    과거의 넓은 범위를 허용하도록 SS 포맷 : MM : 어쩌면 ± Y YYYY-MM-ISO 형식을 사용 date.module의 일반적인 요구하고있다 미래의 날짜,. 그러나, PHP의 날짜 처리는 제한 어쨌든있을 수 있습니다.

    또한,이 ISO 표준은 정렬 및 검색을 더 어렵게 만들 수도 있습니다 그렇게 정확도를 줄이기 위해 덜 중요한 부분을 삭제 할 수 있습니다에도 불구하고. 이러한 이유로, 우리는 여전히 각 파트에 대한 '뭔가'를 저장해야 할 수도 있습니다. (만약 내가 잘못 제발 올바른. 나는 데이터베이스 전문가가 아니다).
    -와일드 생각 : 우리는 어떤 취소 필요한 날짜 부분에 '99'을 저장할 수 있습니다. 그 년을 제외한 모든 부품의 작동뿐만 아니라 저장된 날짜 문자열이 아닌 ISO 준수합니다.

    7:57 pm에 2012 년 4 월 9 데이비드 스트라우스에 의해 게시 됨

    ISO 8601은 시간대를 처리하는 방법은 꽤 뇌사이다. 시간대는 사용자 / 콘텐츠 항목 현지화 우려 날짜는 UTC 어떻게 다른지에 대한 주석에 저장된 날짜에 미리 조정해야하지 뭔가. 그것은 읽을 데이터가 하드하게하고 (ISO 날짜와 달리 고체) 문자열 정렬을 나누기.

    우리가 데이터베이스에 UTC / 줄루 시간을 사용하여 붙은 경우, I는이 제안을 지원할 수 있습니다. 내가 유닉스 시대의 타임 스탬프를 사용하여 우리의 역사를 사랑했던 주요 것은 그들이 UTC 항상있어 알고있다.

    오전 11시 19분 4 월 (11) 2012 카렌족에 의해 게시 됨

    예, 여부 /하는 저장 UTC로 시간을 변환하는 경우에 대한 문제는 별개의 문제이며, 우리는 그것에 대해 별도의 논의가 필요합니다. ISO 문자열에 시간대 정보를 추가 할 수있는 옵션을 가지고 있지만, 사실은 우리가, 난 그냥 가능하다는 것을 지적 것을 할 것을 제안하고 있지 않다. 나는 그 주제 (또는 다른 수있는 사람)에 대한 별도의 문제를 열 ​​계획입니다.

    ISO 표준이가는 많은 계획을 가지고, 많은 사람들이 이미 날짜로 표시해야하고 그것을 위해 보편적으로 이해되는 형식을 만든 일을 생각했다. 네이티브 데이터베이스 날짜 필드는 실제로 너무 그것을 사용할 수 있습니다.

    그렇게 우리는 BC 날짜를 지원할 수에 접두사, 그것은 우리에게 수년에 걸쳐 요청 된 거의 모든 것을 줄 것이다 - 나는 +를 추가 할 않습니다. 다른 형식에서이 형식으로 /에서 변환은 PHP로 처리 할 수 ​​있습니다. 그리고 시간대 변환은 PHP로 처리 할 수 ​​있습니다.

    문제가 될 수 있습니다 나머지 문제는 INT (타임 스탬프) 및 기본 날짜 필드 대 문자열의 성능, 그래서 실제 비용이 무엇인지 알아 내기 위해 그것에 대해 별도의 논의를 시작하고 우리는 성능이 좋은 만들기 위해 무엇을 할 수 있는지 가능한 한. 데이터베이스 이식성을 고려할 때,이 포함 된 VARCHAR 필드에 ISO는 큰 우승자이다.

    오후 1시 52분 4 월 (11) 2012 arlinsandbulte에 의해 게시 됨

    정렬에 문제를 제기 - (가) + 추가 것인가?
    하는 YYYY-MM-DD 문자열 오름차순으로 정렬 자연스럽게 첫 번째 (올바른 순서로 가장 빠른 날짜 결과 - +가없이 최신 날짜 마지막).
    단, +를 추가하면 - 그 변경됩니다. 가장 이른 날짜에 최신 날짜로 정렬 날짜 - 모든 + 날짜에 간단한 오름차순 문자열 정렬 결과는 첫째, 모든 다음 최신 날짜에 이른 날짜로 분류.

    예를 들어, 다음 해 전용 문자열의 정렬 된 목록입니다 :
    "0000"
    "1800"
    "1900"
    "1977"
    "2000"
    "2012"
    "-0100"
    "-0500"
    "-1000"
    "-5000"

    오전 1시 50분 9 월 (27) 2012 년 앨런 D.에 의해 게시 됨

    퇴보 이러한 DB 필드를 지원하지 않는 미친 것으로 보인다. 날짜 부가 물건을 모두 제외하고, 그것은 대규모 모듈 및 모든 다른 시스템에 I가 일을 한 날짜 지원 클래스 코드 1000 개 정도 라인의 사소한 클래스입니다.

    그래서이 DB 드라이버 코더로 이동 뾰족한 질문은 정말, 날짜 시간 필드는 의사 날짜 시간 필드를 지원하기 위해 내부적으로 변환 할 수 있을까?

    개별 구성 요소로 분할 밖으로 열이 길을 가고 권하고 싶지 않다 정말 작동하지만 (나는 부분 날짜에했던 것처럼) 아주 지저분합니다. 나는이 일을 발에서 자신을 촬영 이후 릴리스에서이 되 돌리는 보는 것 같은 느낌.

    만약 내가 기억 빼기 기호 내가 올바르게 ASCII 테이블을 읽고 있어요 경우 정렬 문제를 부정하는 필요하므로 다시 이소 사양을 다시 읽기 (또는 테스트를 실행)없이, 긍정적 인 신호는 선택 사항입니다. (- 45, 48 및 0에서 57까지의 범위 9). 의 + (ASCII 43)를 사용하여 여기에 종류를 나누기.

    시간대 지원 (또는 부족)

    난 단지 데이터베이스에 하나의 시간대를 사용하여 그것을 주문 및 기본 날짜 DB 필드를 지원하지 않을 경우 데이터를 검색에서 제외의 일부를 부정으로 (UTC) 최고라고 동의합니다.

    한 두 개의 링은 그들 모두를 지배 하는가?

    나는이 일에 동의, 우리는 지원하는 확장 된 형식의 매우 간단한 서브 세트에이를 제한해야합니다. 어쩌면 단지

    날짜 모듈과 현재 지원하지 않으나, 타임 존 정보는 날짜에 의미가 있습니까, 미국에서 2012-01-01 호주에서 2012-01-01 뒤에 거의 하루 종일입니다. 그래서 어쩌면 현장 지원은 ISO와 같은 필드와 시간대를 지원하는 ISO와 같은 필드까지 줄일 수있다? 이 시간 지원을 삭제,하지만 핵심은 시간 필드를 지원해야한다고 생각하지 않습니다.

    마지막으로, 드루팔 8 기능 동결 : 12 월 1 일, 2012

  • 이 비디오를 시청!

    관련 기사

    날짜 필드의 드루팔 호스팅 만들기이 패키지는 유연한 날짜 / 시간 필드 유형 날짜 필드와 다른 모듈이 사용할 수있는 날짜 API 모두 포함되어 있습니다. 날짜 필드의 D5와 D6 버전은 콘텐츠 건설 키트를 필요로 ...
    변경 날짜는 워드 프레스 호스팅을 게시설명을 표시하거나 반환 게시물의 날짜 또는 같은 날에 게시하면 게시물의 집합. 특별 참고 : 당일로 출판 한 페이지에 여러 게시물이있을 때 ...
    쿼리 드루팔 호스팅에 가입 왼쪽오전 2시 26분 년 3 월 (14) 2012 thermalmusic에 의해 게시 됨 나는 사용자와 사용자의 프로필 값을 반환하는 D6 데이터베이스에서 SQL 쿼리를 작성하는 것을 시도하고있다. 내 문제로 돌아 프로파일 값을 받고있다 ...
    캐싱 메커니즘 드루팔 호스팅큰 드루팔 영광을 위해 나의 끝없는 탐구에서 오후 10시 5분 2 월 (21) 2009 joshk에 의해 게시 됨, 나는 사이트의 성능을 향상시킬 수있는 다양한 방법에 최대 지간 성교 지난 해 지출 봤는데 ...
    Piwik 사이트 아이디 드루팔 호스팅목차이 페이지는 웹 서버에 Piwik를 설치하고 사이트의 웹 분석 추적을 시작하는 방법을 설명합니다. 당신이 비디오 자습서를보고 싶은 경우, 여기를 클릭 : 설치 Piwik에 어떻게 ...