다음을 통해 공유


모델 기반 앱의 날짜 및 시간 문제 해결

날짜 및 시간 값이 하루 또는 몇 시간씩 꺼져 있는 경우 표준 시간대 또는 일광 절약 조정으로 인해 발생할 수 있습니다. 이 문서에서는 다음과 같은 문제를 해결하는 팁을 제공합니다.

  • 날짜 및 시간 필드에 잘못된 값이 표시됩니다.
  • 날짜 전용 값은 일부 사용자 및 표준 시간대에 대한 잘못된 날짜를 표시합니다.
  • 날짜 및 시간 필드에는 앱의 일부 부분에 올바른 값이 표시되지만 다른 부분은 표시되지 않습니다.
  • 날짜 및 시간 값을 변경하고 저장한 후 자동으로 다른 값으로 변경됩니다.
  • 일광 절약 전환 날짜를 입력하면 날짜가 1일로 꺼지거나 시간이 1시간으로 해제됩니다.

서버 또는 클라이언트 문제인지 확인

모델 기반 앱은 웹앱입니다. Dataverse 클라우드 서비스(서버)에서 데이터를 가져옵니다. 동일한 데이터는 여러 앱(클라이언트)에 전원을 공급할 수 있습니다. 서버 또는 클라이언트에서 오류가 발생할 수 있습니다.

서버에 저장된 날짜 및 시간 값이 예기치 않은 경우 사용자 또는 시스템 표준 시간대에 관계없이 모든 앱에서 잘못 표시될 수 있습니다. 따라서 서버 값을 확인하는 것이 중요한 첫 번째 단계입니다.

날짜 및 시간 열의 구성 확인

Dataverse는 날짜 및 시간 열 (필드)에 대해 다양한 표준 시간대 조정 동작을 지원합니다. 문제를 해결하기 전에 시스템 프로세스 날짜 및 시간 값의 여러 부분을 이해하는 것이 중요합니다.

Power Apps 포털 또는 솔루션 탐색기에서 날짜 및 시간 열 옵션을 확인합니다.

  • 사용자의 표준 시간대를 차지하는지 여부
  • 값의 시간 부분을 표시하는지 여부

올바른 값이 서버에 저장되어 있는지 확인합니다.

날짜 및 시간 값은 항상 서버에 UTC로 저장됩니다. Web API 쿼리를 사용하여 서버에서 원시 값을 볼 수 있습니다.

행(레코드)에 대한 열을 가져오는 쿼리는 다음과 같습니다.

[Organization URI]/api/data/v9.2/<entity set name>(<row id>)?$select=<column name>

사용되는 테이블 및 열 이름은 표시 이름이 아니라 논리적 이름입니다.

행의 ID를 쉽게 찾을 수 있는 방법은 모델 기반 앱에서 여는 것입니다. ID는 페이지 URL에서 찾을 수 있습니다.

다음 예제에서는 ID가 인 scheduledstart 행에 appointment 대한 테이블의 열을 d2862246-4763-ee11-8def-000d3a34118b가져옵니다.

https://myorg.crm.dynamics.com/api/data/v9.2/appointments(d2862246-4763-ee11-8def-000d3a34118b)?$select=scheduledstart

브라우저 주소 표시줄에 이를 입력하면 다음과 같은 내용이 표시됩니다.

{
    "@odata.context": "https://myorg.crm.dynamics.com/api/data/v9.2/$metadata#appointments(scheduledstart)/$entity",
    "@odata.etag": "W/\"11472725\"",
    "scheduledstart": "2023-10-15T07:30:00Z",
    "activityid": "d2862246-4763-ee11-8def-000d3a34118b"
}

따라서 scheduledstartappointment 는 2023년 10월 15일 오전 7:30입니다. 끝에 있는 는 Z 값이 UTC임을 나타냅니다.

표준 시간대 UTC-8의 사용자가 모델 기반 앱에서 이 열을 보는 경우를 가정해 보겠습니다. 이러한 값은 서로 다른 열 옵션에 대해 예상되는 값입니다.

표준 시간대 조정 동작 형식 앱에 표시된 값
사용자 로컬 날짜 및 시간 2023년 10월 14일 오후 11:30
사용자 로컬 날짜만 2023년 10월 14일
Time-Zone 독립 날짜 및 시간 2023년 10월 15일 오전 7:30
Time-Zone 독립 날짜만 2023년 10월 15일
날짜만 - 2023년 10월 15일

앱에 표시된 값이 올바르게 조정되지 않으면 클라이언트 문제일 수 있습니다. 서버 값이 잘못되면 서버 문제일 수 있습니다.

서버에서 서식이 지정된 값 확인

표준 시간대 및 일광 절약 시간 조정은 서버 또는 앱에서 수행할 수 있습니다. 동일한 열에 앱의 다른 부분에 다른 값이 표시되면 앱의 일부에서 서버의 서식이 지정된 값을 사용하는 반면 다른 부분은 앱에서 조정을 수행하는 것일 수 있습니다.

이는 문제가 될 수 있습니다. 보고하기 전에 서버 에서 형식이 지정된 값을 확인하여 서버 또는 클라이언트 문제인지 격리할 수 있습니다.

예를 들면 다음과 같습니다.

GET https://myorg.crm.dynamics.com/api/data/v9.2/appointments(d2862246-4763-ee11-8def-000d3a34118b)?$select=scheduledstart
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"

응답에는 서버에서 조정한 값이 포함됩니다. 이 예제에서 사용자는 UTC-8 표준 시간대에 있으며 scheduledstart사용자 로컬 동작이 있습니다. 따라서 형식이 지정된 값은 원시 값 뒤에 8시간 뒤입니다.

{
    "@odata.context": "https://myorg.crm.dynamics.com/api/data/v9.2/$metadata#appointments(scheduledstart)/$entity",
    "@odata.etag": "W/\"11472725\"",
    "scheduledstart@OData.Community.Display.V1.FormattedValue": "10/14/2023 11:30 PM",
    "scheduledstart": "2023-10-15T07:30:00Z",
    "activityid": "2ad8786a-9164-ee11-9ae7-0022480a0700"
}

형식이 지정된 값이 올바르지 않으면 서버 문제입니다. 올바른 경우 클라이언트 문제입니다.

예기치 않은 서버 값 조사

예기치 않은 서버 값의 가능한 이유는 다음과 같습니다.

  • 표준 시간대 조정 동작 및 형식을 올바르게 구성하지 않았을 수 있습니다.
  • 서버에서 실행되는 비즈니스 규칙워크플로는 저장 전이나 후에 값을 변경할 수 있습니다. 앱 내에서 클라이언트 스크립트는 저장을 위해 서버로 보내기 전에 값을 변경할 수 있습니다.

사용자 지정 문제 또는 제품 문제인지 확인

사용자 지정은 예기치 않은 동작으로 이어질 수 있습니다. 다음 메서드는 사용자 지정으로 인한 문제를 배제하는 데 도움이 될 수 있습니다.

사용자 지정 스크립트 사용 안 함

사용자 지정 스크립트는 종종 문제를 일으킵니다. 일시적으로 사용하지 않도록 설정해 보세요.

새 날짜 및 시간 열 만들기

새 날짜 및 시간 열을 만드는 것은 비즈니스 규칙과 같은 구성 오류 또는 사용자 지정으로 인해 문제가 발생하는지 확인하는 가장 쉬운 방법입니다. 이상적으로는 다른 테이블과 앱을 사용하는 것이 좋습니다.

새 열이 예상대로 작동하는 경우 사용자 지정 문제일 수 있습니다. 원래 열과 비교하여 차이점을 찾습니다.

새 열에 동일한 문제가 있는 경우 제품 문제일 수 있습니다. 바닐라 재현 모델 기반 앱을 만들고지원 요청을 통해 보고할 수 있습니다.

다른 표준 시간대 사용해 보기

표준 시간대 및 일광 절약 조정으로 인해 예기치 않은 값이 발생하는지 확인하려면 사용자의 표준 시간대를 변경해 보세요.

모델 기반 앱의 표준 시간대에 영향을 주는 두 가지 설정이 있습니다.

  1. 개인 옵션의 표준 시간대입니다.
  2. 시스템 표준 시간대. 변경 방법에 대한 자세한 내용은 Windows, Android, iOS 또는 macOS의 해당 설명서를 참조하세요.

시도해 보기에 유용한 조합:

  • 개인 옵션의 표준 시간대를 시스템 표준 시간대와 일치합니다.
  • UTC 표준 시간대를 사용합니다.
  • 동일한 오프셋이 있는 표준 시간대를 사용하지만 일광 절약 시간을 관찰하지는 않습니다.

다음 메서드는 날짜 및 시간 문제를 보다 쉽게 조사할 수 있도록 자세한 정보를 제공합니다.

"날짜만" 형식을 "날짜 및 시간"으로 변경합니다.

날짜 전용 값이 하루 동안 해제된 경우 표준 시간대 조정이 원인일 수 있는지 확인하기 위해 시간 부분을 표시하는 것이 좋습니다. Power Apps 포털 또는 솔루션 탐색기에서 열 형식을 일시적으로 변경할 수 있습니다.

2자리 연도를 사용하지 마세요.

2자리 연도는 모호합니다. 예를 들어 40은 1940, 2040 또는 2140을 의미할 수 있습니다. 시스템이 2자리 연도를 해석하는 방식은 시간이 지남에 따라 변경될 수 있으며 변경될 수 있습니다.

전체 날짜 및 시간 값이 표시되지 않는 경우를 조사하기도 어렵습니다. 이러한 이유로, 특히 날짜를 입력할 때 4자리 연도를 사용하는 것이 좋습니다.

4자리 연도로 영구적으로 전환할 수 없는 경우 일시적으로 문제를 해결해 보세요.

참고 항목

날짜 및 시간 열의 동작 및 형식