목록으로 돌아가기

YiMatrix · 아카데미 저널

베이징 시간은 자연 시간과 다르다, 진태양시가 고인이 사용한 '표준'이다

서문 현대적인 시계와 '베이징 시간'이 없던 시절, 고인들은 시간을 측정하는 방법으로 주로 천문 현상에 의존했습니다. 가장 일반적인 방법은 태양의 위치와 그림자의 변화를 관찰하여 시간을 판단하는 것이었습니다. 정오에 그림자가 가장 짧고, 아침과 저녁에 그림자가 가장 긴 이러한 자연 법칙은 고대 역법과 술수 연산의 기초가

南荒2025년 12월 25일약 12분

서문

현대적인 시계와 '베이징 시간'이 없던 시절, 고인들은 시간을 측정하는 방법으로 주로 천문 현상에 의존했습니다. 가장 일반적인 방법은 태양의 위치와 그림자의 변화를 관찰하여 시간을 판단하는 것이었습니다. 정오에 그림자가 가장 짧고, 아침과 저녁에 그림자가 가장 긴 이러한 자연 법칙은 고대 역법과 술수 연산의 기초가 되었습니다.

따라서 팔자(八字), 팔괘(八卦), 기문(奇門), 육임(六壬)과 같은 전통 술수에서 오행의 성쇠를 추론할 때 처음에 의존한 것은 오늘날 우리가 사용하는 베이징 시간이 아니라, 자연에 더 가까운 진태양시였습니다.

베이징 시간은 현대적인 행정 시간으로, 동8구의 120도 경선을 기준으로 전국의 생활 시간을 통일한 것입니다. 반면 진태양시는 현지 경도와 하늘에서 태양의 실제 위치를 기반으로 계산된 천문 시간으로, 지역에 따라 다릅니다. 즉, 같은 베이징 시간 순간에도 베이징, 충칭, 우루무치의 진태양시는 모두 다릅니다.

이 때문에 진태양시만이 현지의 시공간 상태를 진실하게 반영할 수 있습니다. 무조건 베이징 시간을 대신 사용하면 고대 술수가 처음 설정한 시공간 논리와 차이가 발생하기 쉽습니다.

진태양시를 계산하려면 먼저 평태양시에서 출발해야 합니다. 지구의 자전과 공전이 균일하지 않기 때문에 태양의 천구상 겉보기 운동 속도는 빠르거나 느려지며, 진태양시와 평태양시 사이에 차이가 발생하는데, 이를 시간차 방정식이라고 합니다. 평태양시는 인위적으로 평균화된 이상적인 시간인 반면, 진태양시는 매일 하늘에서 태양의 실제 위치에 해당하는 시각입니다.

요점 개념

진태양시 계산 절차는 다음과 같습니다.

  1. 평태양시: 현지 경도와 표준 시간(예: 베이징 시간)을 통해 계산된 평균 시간입니다.

  2. 시간차 방정식: 태양의 실제 운동 궤적에 따라 이 차이를 사용하여 평태양시를 조정합니다.

  3. 진태양시: 평태양시에 시간차 방정식을 더하여 얻은 시간으로, 현지 천문 위치에 기반한 정확한 시간입니다.

진태양시

**진태양시(True Solar Time, TST)**는 하늘에서 태양의 위치를 기준으로 계산된 시간으로, 표준 시간(예: 세계 협정시 UTC 또는 지방시)과 다릅니다. 진태양시는 태양이 지구의 다른 장소에서 매일 실제 위치를 반영하기 때문입니다. 진태양시는 일장 변화에 따라 변하며, 즉 지구의 타원 궤도와 자전축 기울기로 인해 매일 태양 시간이 완전히 일치하지 않습니다. 진태양시와 표준시 간의 차이를 **시간 방정식(Equation of Time, EoT)**이라고 합니다.

시간차 방정식

진태양시를 계산하는 것은 매우 중요한 단계입니다. 그러나 진태양시를 얻기 전에 먼저 평태양시를 계산해야 합니다. 평태양시는 지구 자전의 평균 속도를 기반으로 계산된 시간으로, 천문학에서 '평균 태양'과 관련이 있습니다. 이와 달리 진태양시는 지구의 실제 자전 속도와 지구 궤도의 타원 모양을 기반으로 계산되며, 매일 하늘에서 태양의 실제 위치를 반영합니다. 지구 자전 속도가 일정하지 않기 때문에 진태양시와 평태양시 사이에는 차이가 있으며, 이 차이를 시간차 방정식이라고 합니다.

평태양시

평태양시(Mean Solar Time)는 지구 자전의 평균 속도를 통해 계산된 시간으로, 태양이 매일 균일하게 움직인다는 가정에 기반합니다. 천문학에서 평태양시는 '평균 태양'과 관련이 있으며, 평균 태양은 지구 적도를 따라 일정한 속도로 움직인다고 가정하는 가상의 천체로, 지구 자전의 평균 속도를 나타냅니다.

평태양시의 특징:

  1. 항상성: 평태양시는 태양이 매일 균일한 속도로 천구에서 이동한다고 가정하므로, 일상 생활에 고정된 시간 기준을 제공할 수 있습니다.

  2. 시간 단위 일관성: 평태양시의 하루 길이(즉 24시간)는 일정하지만, 진태양시의 하루 길이는 지구 공전 궤도 모양과 자전축 기울기로 인해 약간 다릅니다.

  3. 시간차 방정식: 진태양시와 평태양시 간의 차이를 시간차 방정식(Equation of Time)이라고 하며, 1년 중 다른 시기에 이 차이는 최대 약 16분까지 달라질 수 있습니다.

평태양시는 일반적으로 현대 시계 시스템(예: 지방시 및 세계시)의 기초로 사용되며, 간단하고 상대적으로 정확한 시간 참조 기준을 제공하기 때문입니다. 각 지역의 평태양시는 현지 경도를 통해 조정되어 현지 표준 시간을 반영할 수 있습니다.

평태양시 계산을 위한 두 공식 비교

동일한 매개변수를 사용하여 특정 도시(예: 충칭시, 동경 106.55도)의 평태양시를 서로 다른 시간 기준(베이징 시간 및 UTC)으로 계산해 보겠습니다. 베이징 시간이 17:58이라고 가정합니다.

매개변수:

  • 베이징 시간: 17:58
  • UTC 시간: 베이징 시간 - 8시간 = 09:58
  • 현지 경도: 106.55도 (충칭시)
  • 표준 경도 (중국): 120도 (중국 표준 시간의 기준 경도)
  • 시간대 오프셋: +8시간 (충칭은 동8구에 위치)

1. 공식 1: 평태양시 = 베이징 시간 + [(현지 경도 - 120) × 4분]

계산 단계:

  1. 베이징 시간 = 17:58
  2. 현지 경도 = 106.55도
  3. 기준 경도 = 120도
  4. 차이 = 106.55 - 120 = -13.45도
  5. 시간 차이 = -13.45도 × 4분/도 = -53.8분 = -53분 48초
  6. 평태양시 = 17:58 - 53분 48초 ≈ 17:04:12

결과:

평태양시 ≈ 17:04:12 (베이징 시간 기준)

2. 공식 2: LMST (지방 평태양시) = UTC + (현지 경도 / 15) - 시간대 오프셋

계산 단계:

  1. UTC 시간 = 베이징 시간 - 8시간 = 09:58
  2. 현지 경도 = 106.55도
  3. 경도를 15로 나눔: 106.55 / 15 ≈ 7.103시간 ≈ 7시간 6분
  4. 시간대 오프셋 = +8시간 (충칭은 동8구)
  5. LMST = 09:58 + 7시간 6분 - 8시간
  6. LMST = 09:58 + 07:06 - 08:00 = 09:04

결과:

LMST ≈ 09:04 (UTC 시간 기준)

비교:

공식시간 기준계산 결과설명
평태양시 = 베이징 시간 + [(현지 경도 - 120) × 4분]베이징 시간17:04:12중국 시나리오에 적합하며, 베이징 시간을 기준으로 조정합니다.
LMST = UTC + (현지 경도 / 15) - 시간대 오프셋UTC 시간09:04일반 공식으로, 전 세계 다양한 경도와 시간대에 적용 가능합니다.

요약:

  • 공식 1은 베이징 시간을 기준으로 사용하며, 중국 내 또는 동8구에서 시간 계산에 적합하지만 간편하지만 제한적입니다.
  • 공식 2는 전 세계 표준인 UTC 시간을 기반으로 하며, 전 세계 시간대 문제를 처리하는 데 적합하고 범용성이 더 높습니다. 다른 국가나 시간대의 시간을 처리해야 하는 경우 이 공식이 더 적합합니다. 우리는 이 공식을 계산 방법으로 사용할 것입니다.

진태양시 계산 단계

  1. 지방 평태양시(Local Mean Solar Time, LMST) 계산: 지방 평태양시는 지구 자전의 평균 태양시를 기반으로 하며, 표준 시간을 경도로 간단히 수정한 것입니다.

공식: LMST = UTC + (현지 경도/15) - 시간대 오프셋

  • UTC: 세계 협정시

  • 현지 경도: 도 단위, 동경은 양수, 서경은 음수

  • 시간대 오프셋: 시간 단위, 동쪽 시간대는 양수, 서쪽 시간대는 음수

  • 시간 방정식(EoT) 계산: 시간 방정식은 진태양시와 지방 평태양시 간의 차이를 반영합니다. 이는 주로 지구 궤도의 이심률과 지구축 기울기로 인해 발생합니다. 시간 방정식은 날짜에 따라 변하며, 근사 공식으로 계산할 수 있습니다:

근사 공식: EoT = 9.87 * sin(2B) - 7.53 * cos(B) - 1.5 * sin(B)

여기서: B = 360 * (n - 81) / 365

  • n: 1년 중 날짜 (1월 1일은 1, 12월 31일은 365 또는 366).

  • EoT의 단위는 분입니다.

  • 진태양시 계산: 시간 방정식을 지방 평태양시에 더하여 진태양시를 얻습니다.

공식: TST = LMST + EoT/60

여기서 EoT는 시간으로 변환해야 합니다.

상세 단계:

베이징의 진태양시를 계산한다고 가정하고, 세계 협정시(UTC)가 12:00이고 날짜가 2024년 10월 6일이라고 가정합니다:

  1. 지방 평태양시(LMST):
  2. 베이징 경도는 약 116.4도입니다.
  3. 베이징이 속한 시간대는 UTC+8입니다.

LMST = UTC + (현지 경도 / 15) - 시간대 오프셋 LMST = 12:00 + (116.4 / 15) - 8 = 12:00 + 7.76 - 8 = 11:46

  1. 시간 방정식(EoT) 계산:

  2. 날짜가 2024년 10월 6일이라고 가정하면, 이는 1년 중 280번째 날입니다. B = 360 * (280 - 81) / 365 = 360 * 199 / 365 ≈ 196.38도

  3. 시간 방정식 공식에 대입: EoT = 9.87 * sin(2 * 196.38) - 7.53 * cos(196.38) - 1.5 * sin(196.38) 계산 결과: EoT ≈ -10.5분

  4. 진태양시(TST): TST = LMST + EoT/60 TST = 11:46 - 10.5/60 = 11:35:30

코드 예시 (JavaScript)

JavaScript 또는 유사한 언어를 사용하여 진태양시 계산을 구현할 수 있습니다. 다음은 간단한 예시입니다(dayjs 플러그인 사용):

import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc';
import timezone from 'dayjs/plugin/timezone';
import dayOfYear from 'dayjs/plugin/dayOfYear';

dayjs.extend(utc);
dayjs.extend(timezone);
dayjs.extend(dayOfYear);

/**
 * 진태양시 계산 (현지 시간 표시 반환)
 * @param {string|Date} date 입력된 "현지 표준시" 시간 (예: '2024-10-06 12:00:00', 시간대는 timezoneStr로 지정)
 * @param {number} longitude 경도 (동경은 양수, 서경은 음수), 예: 베이징 116.4
 * @param {string} timezoneStr IANA 시간대 이름, 예: 'Asia/Shanghai'
 * @param {number} tzOffsetHours 시간대 오프셋 (시간), 예: 동8구=8
 */
function calculateTrueSolarTimeLocal(date, longitude, timezoneStr, tzOffsetHours) {
  // 1) 현지 표준시 LST
  const lst = dayjs.tz(date, timezoneStr);

  // 2) 표준 경도 LSTM = 15 * 시간대
  const LSTM = 15 * tzOffsetHours;

  // 3) 지방 평태양시 LMST (현지 시간대 "시계 시간"으로 표시)
  const deltaHours = (longitude - LSTM) / 15; // 시간
  const lmst = lst.add(deltaHours, 'hour');

  // 4) 시간 방정식 EoT (분)
  const n = lmst.dayOfYear(); // 해당 연도의 날짜 (현지 날짜로 n을 구하면 충분)
  const Bdeg = (360 * (n - 81)) / 365;
  const Brad = (Math.PI / 180) * Bdeg;
  const EoT = 9.87 * Math.sin(2 * Brad) - 7.53 * Math.cos(Brad) - 1.5 * Math.sin(Brad); // 분

  // 5) 진태양시 TST (여전히 현지 시계 시간으로 표시)
  const tst = lmst.add(EoT, 'minute');

  return tst.format('YYYY-MM-DD HH:mm:ss');
}

// 예시: 2024-10-06 12:00 (현지 표준시), 베이징 116.4°E, 동8구
const result = calculateTrueSolarTimeLocal('2024-10-06 12:00:00', 116.4, 'Asia/Shanghai', 8);
console.log(result);

요약

  1. 진태양시는 태양 위치에 따라 계산된 시간으로, 평균 태양시(지방시)와 차이가 있습니다.
  2. **시간 방정식(EoT)**은 진태양시와 평균 태양시의 차이를 계산하는 핵심입니다.
  3. 지리적 경도와 세계 협정시를 사용하여 코드로 진태양시를 계산할 수 있습니다.

계속 읽기

추천

목록으로 돌아가기