sourcetip

대응 기본 표준 시간대 및 형식 지정 옵션

fileupload 2023. 8. 16. 22:34
반응형

대응 기본 표준 시간대 및 형식 지정 옵션

저는 리액트 네이티브가 처음이고 PHP와 다른 언어로 여러 번 해본 것을 시도하는 것이 가장 어렵습니다.

시간대 변환 및 날짜 형식 지정을 처리하는 방법은 여러 가지가 있지만 운이 없을 뿐 아니라 너무 많은 시간을 할애했습니다.

제가 하려는 일은 다음과 같습니다.

  1. 2021-09-1100:22:00 등과 같이 MariaDB/MySQL 형식에서 온 날짜를 UTC 시간에 저장합니다.이것은 변수로 저장되어 있으며 React App에서 변환할 준비가 되어 있습니다.
  2. 위에 표시된 MySql 날짜를 사용자의 장치 표준 시간대 또는 이 사용자에 대해 지정할 수 있는 지정된 표준 시간대를 기준으로 로컬 표준 시간대로 변환합니다(이미 DB에 저장).
  3. 2단계에서 날짜를 가져와 12시간 형식, 24시간 형식, 요일 버전 요일 번호 등 다양한 방식으로 형식을 지정합니다.

예를 들어, 저는 PHP에서 이러한 것들을 꽤 쉽게 할 수 있고, 저는 이전에 바닐라 JS에서 비슷한 것을 해본 적이 있다고 생각했지만 기억이 나지 않습니다.지난 이틀 동안 나는 토끼굴에서 데이트 때문에 넘어졌습니다.어그, 나 좀 도와줘요.

저는 현재 아래 코드를 사용하고 있으며 IOS에서 원하는 것을 수행하고 있으며 안드로이드에서 테스트를 해보고 안드로이드에서 군용 시간이 표시된다는 것을 깨닫기 전까지는 완료되었다고 생각했습니다.으으..

moment.js를 사용하는 권장 사항을 보았습니다만, 제가 훑어보니 기본적으로 오래된 학교이며 현대 코딩에 사용해서는 안 된다고 나와 있습니다.

저는 현대적이고 믿을 수 없을 정도로 복잡하지 않은 것을 찾고 있습니다. 제가 하고 있는 것은 믿을 수 없을 정도로 복잡한 게쉬라고 생각하지 않습니다.도서관을 사용하지 않는 것을 선호하지만, 제가 해야 한다면 그렇게 할 것입니다. 그래서 저는 날짜 변환을 하면서 이틀을 더 보낼 필요가 없습니다.

다음은 앱을 위해 만든 구성 요소에 있는 내용은 다음과 같습니다.나는 그것이 끔찍한 코드 현명함이라고 확신하지만 안드로이드를 제외하고는 작동합니다.

도움을 주셔서 미리 감사드립니다.

MySQL 날짜를 입력하면 2021년 9월 9일 금요일 오후 10시 29분과 같은 내용이 출력됩니다.Android에서는 출력은 동일하지만 군사적(24시간) 시간이 표시됩니다.

import React from 'react';

const DateConvert = (rawDate) => {
    // Convert the date into local time based on handset
    const msgDateLocal = new Date(rawDate);

    let msgDateDay; // Convert the numeric weekday to something more readable ZERO based
    switch (msgDateLocal.getDay()) {
        case 0:
            msgDateDay = "Sun";
            break;
        case 1:
            msgDateDay = "Mon";
            break;
        case 2:
            msgDateDay = "Tue";
            break;
        case 3:
            msgDateDay = "Wed";
            break;
        case 4:
            msgDateDay = "Thu";
            break;
        case 5:
            msgDateDay = "Fri";
            break;
        case 6:
            msgDateDay = "Sat";
            break
        default:
            msgDateDay = "Invalid day of the week";
    }

    // Let's do a little formatting to make it all pretty
    return `${msgDateDay} ${msgDateLocal.toLocaleDateString()} ${msgDateLocal.toLocaleTimeString()}`;

};

export default DateConvert;

저는 여기 reactnativecode.com/get-current-time-in-12-hours-am-pm-format 에 있는 예들을 사용하여 이 문제를 해결할 수 있었습니다. 더 나은 방법이 있는지는 모르겠지만, 이것은 제가 문제를 해결하고 날짜를 망치는 것보다 더 재미있는 것으로 넘어갈 수 있게 해주었습니다.답변과 도움에 감사드립니다.

언급URL : https://stackoverflow.com/questions/69145136/react-native-time-zone-and-formatting-options

반응형