천문학

주어진 날짜의 요일 계산

주어진 날짜의 요일 계산



We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

나는 (일/월/년)로 표시된 오늘 날짜가 주어진 연도의 일을 계산한다고 주장하는 다음 공식을 이해하려고 노력하고 있습니다.

N1 = floor(275 * 월 / 9) N2 = floor((month + 9) / 12) N3 = (1 + floor((year - 4 * floor(year / 4) + 2) / 3)) N = N1 - (N2 * N3) + 일 - 30

마지막으로 N은 아마도 올해의 날을 나타냅니다.

마법의 숫자 275,9 등은 방정식에서 무엇을 나타냅니까?


이것은 Stackoverflow 또는 다른 페이지에서 더 나을 것입니다. 아마도 당신은 계산의 일부가 천문학의 개념에 의존한다고 가정했을 것입니다. 천문학의 개념은 윤년의 개념을 제외하고는 그렇지 않습니다. 제 생각에는 그것이 천문학에 포함되지 않아도 될 만큼 충분히 일반적이라고 생각합니다. 관계없이:

방정식은 다소 추상적이므로 각 데이터 비트를 이해하는 것이 가장 쉬운 이해 방법일 것입니다. N2부터 시작하겠습니다. N1으로 돌아오겠습니다.

N2 = 바닥((월 + 9) / 12)

N2는 월이 3보다 작으면 0이고 크면 1입니다. 이 공식은 2월이 지났는지 여부를 확인하는 것입니다.

N3 = (1 + floor((year - 4 * floor(year / 4) + 2) / 3))

N3은 연도가 윤년이 아니면 2이고 윤년이면 1입니다. 여기서 계산은 현재 연도가 윤년인지 여부를 결정하는 것입니다.

N = N1 - (N2 * N3) + 일 - 30

이제 우리는 N1(아직 다루지 않음)을 취하고 N2와 N3의 곱으로 빼서 3월에 도달하지 않은 경우 0이 되고 윤년에 도달하면 1이 됩니다. 윤년이 아닌 경우 2. 그런 다음 해당 월의 현재 날짜 수를 더하고 30을 뺍니다. 그러면 N1은 무엇을 합니까?

N1 = floor(275 * 월 / 9)

음, 윤년이 아닌 날짜와 비교하여 반환된 값을 살펴보겠습니다.

월 N1 일 차이 1. 30 31 -1 2. 61 59 +2 3. 91 90 +1 4. 122 120 +2 5. 152 151 +1 6. 183 181 +2 7. 213 2412 +1 8. 24 +1 9. 275 273 +2 10. 305 304 +1 11. 336 334 +2 12. 366 365 +1

좀 지저분하죠? 이제 N을 얻기 위해 끝에 있는 합계에서 30을 빼고 현재 날짜를 더한다는 것을 기억하십시오. 이것은 우리가 N1을 얻기 위해 현재 월을 곱하지만 실제로 이것을 사용하여 월의 날짜를 계산한다는 것을 의미합니다. 이전 이번 달로! 따라서 N1의 값을 가져 와서 30을 빼고 전월과 비교하면 차트가 다음과 같이 나옵니다.

월 N1 일 차이 1. 31 31 0 2. 61 59 +2 3. 92 90 +2 4. 122 120 +2 5. 153 151 +2 6. 183 181 +2 7. 254 24212 +2 8. 3 +4 2 9. 275 273 +2 10. 306 304 +2 11. 336 334 +2 12. --- 365 ---

이로부터 N1의 값이 3월 또는 그 이후인 날의 실제 날짜보다 2가 더 크다는 것을 알 수 있습니다. N2는 이미 윤일을 잡기 위해 이것을 결정하는 공식이기 때문에 이것은 완벽합니다. 2월에 다른 날이 추가되었을 때와 같이 윤년에 이 값은 모두 +1과 같습니다. 따라서 최종 계산으로 돌아갑니다.

N = N1 - (N2 * N3) + 일 - 30

우리는N1의 값으로 빼십시오.(N2 * N3), 2월이 지난 경우 윤년이 아닌 경우 2, 윤년에서 1, 2월을 통과하지 않은 경우 0이 됩니다. 이번 달의 날짜를 더하고 30을 빼서 오프셋을 얻습니다.N1가치.

이것은 일관되게 올해의 날을 제공해야 합니다. 특별한 의미에 관해서는 수학적 속성에만 사용됩니다. 1과 12 사이의 숫자를 9로 나누면 3보다 작은 숫자에 대해 1보다 작거나 12까지 계속해서 1보다 크거나 같거나 2보다 작습니다. 이것이 우리가 시작한 이유입니다. 행진. 그만큼275 * (월 / 9)공식은 어디에서 생각해 냈는지 확실하지 않습니다. AFAIK, 그것들은 시간이나 태양-지구 시스템에 특별한 의미가 없습니다. 오히려 이 특정 용도에서 잘 계산되기 때문에 선택되었습니다.


자바스크립트

출력: 1(월요일)
위의 기능에 대한 설명은 여기를 참조하십시오.
참조:
http://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week
이 기사는 데라즈 자인 GeeksforGeeks 팀에서 검토했습니다. 잘못된 점을 발견하거나 위에서 논의한 주제에 대해 더 많은 정보를 공유하고 싶은 경우 의견을 작성해 주십시오.

독자 주목! 지금 학습을 중단하지 마십시오(&rsquot). 모든 중요한 DSA 개념을 파악하십시오. DSA 자율 학습 과정 학생 친화적 인 가격으로 산업 준비가 되십시오. 언어 학습에서 DS Algo 등의 준비를 완료하려면 다음을 참조하십시오. 면접 준비 과정 완료.

업계 전문가들과 함께하는 라이브 수업을 듣고 싶으신 분들은 DSA 라이브 수업


요일 계산기

유감스럽게도 특정 날짜를 계산하는 직접적인 함수는 없지만 다음과 같은 간단한 공식을 적용하여 이 작업을 해결할 수 있습니다. 1. 다음 공식을 입력하십시오. =A2-DATE(YEAR(A2),1,0) 빈 셀에 입력 스크린샷 보기: 팁: A2에는 날짜를 계산하려는 날짜가 포함되어 있습니다.& #32필요에 따라 변경할 수 있습니다.

1년의 일수를 어떻게 계산합니까?

공식을 사용하여 주어진 연도의 일 수를 계산합니다. 1년의 일 수를 얻으려면 다음과 같이 하십시오. 다음 공식을 입력하십시오. =DATE(YEAR(A2),12,31)-DATE(YEAR(A2),1,1)+1 into a 날짜 셀 옆에 있는 빈 셀을 클릭한 다음 채우기 핸들을 특정 연도의 날짜를 계산할 셀로 드래그합니다.

1년의 일수를 계산하는 방법은 무엇입니까?

요일은 1에서 365(윤년인 경우 366) 사이의 숫자입니다. 예를 들어, Łst Jan은 1일이고 Ņth 2월은 36일 등입니다. 연도를 계산하기 위해 우리는 단순히 주어진 달의 날짜를 이전 달의 날짜에 더합니다.

특정 날짜의 날짜를 어떻게 계산합니까?

Excel에서 날짜부터 날짜를 계산하는 방법. 특정 날짜로부터 N일이 지난 날짜를 찾으려면 날짜에 필요한 날짜 수를 추가하면 됩니다. Date + N일. 핵심은 Excel이 이해할 수 있는 형식으로 날짜를 제공하는 것입니다.


Google 스프레드시트에서 날짜 사이의 일수를 계산하는 방법

시작하기 전에 이러한 방법은 미국식 날짜 형식을 사용할 때만 작동한다는 점에 유의하는 것이 중요합니다. 미국에 거주하지 않는 경우 이러한 방법을 사용하려면 Google 스프레드시트로 이동하여 로케일 및 시간대를 변경할 수 있습니다.

즉, Google 스프레드시트에서 두 날짜 사이의 일 수를 찾는 방법을 살펴보겠습니다.

빼기 함수

Excel과 달리 Google Sheets에는 간단한 날짜 차이를 계산할 때 매우 편리한 빼기 기능이 있습니다. MINUS는 Sheets’ 빼기 함수이며 날짜가 내부적으로 저장되는 방식(과거의 특정 날짜 이후의 일 수를 설명하는 정수로) 때문에 한 날짜에서 다른 날짜를 빼는 데에는 문제가 없습니다. 즉, 날짜가 둘 다 같은 형식인 한. MINUS의 구문은 다음과 같습니다. =MINUS(값 1, 값 2).

MINUS를 사용하려면 브라우저에서 빈 Google 스프레드시트를 엽니다. 셀 B3 및 C3에 𔃴/4/2017’ 및 𔃵/15/2017’(예:)을 입력합니다.

이제 MINUS 함수를 넣을 D3 셀을 선택합니다. ‘fx’ 막대 내부를 클릭한 다음 ‘=MINUS(C3, B3)’을 입력하고 Enter 키를 누릅니다. 셀 D3은 이제 바로 아래에 표시된 대로 값 40을 반환합니다.

이는 2017년 4월 5일과 2017년 5월 15일 사이에 40일이 있음을 의미합니다. MINUS 함수를 사용하지 않고 셀 참조를 입력하는 것만으로 날짜의 차이를 찾을 수도 있습니다.

예를 들어 E3 셀을 클릭하고 바로 아래의 스냅샷과 같이 기능 표시줄에 ‘=C3-B3’을 입력합니다. 40도 반환됩니다. MINUS 없이 날짜를 직접 빼기 때문에 E 셀의 값이 날짜 형식으로 표시되고 매우 이상하게 보일 것입니다.

다음을 선택하여 정수 값을 표시하도록 셀 형식을 변환할 수 있습니다. 체재 > 번호번호.

이전 날짜의 셀 참조를 먼저 입력할 수도 있습니다. 기능 표시줄에 ‘=B3-C3’을 입력하면 셀에 -40 값이 포함됩니다. 이것은 2017년 4월 4일이 2017년 5월 15일보다 40일 늦었음을 강조합니다.

DATEDIF 함수

DATEDIF는 두 날짜 사이의 총 일, 월 또는 연도를 찾는 데 도움이 되는 함수입니다. 스프레드시트에 입력한 두 날짜 사이의 총 일수를 찾거나 대신 DATEDIF 내에 날짜를 포함할 수 있습니다.

DATEDIF의 구문은 다음과 같습니다.

DATEDIF(시작일, 종료일, 단위). 기능의 단위는 D(일), M(월) 또는 Y(년)입니다.

DATEDIF를 사용하여 2017년 4월 4일과 2017년 5월 15일 간의 차이를 찾으려면 함수를 추가할 셀을 선택해야 합니다(여기서는 F3). #8217 바. 그런 다음 시작 날짜 및 종료 날짜 셀 참조 B3 및 C3을 포함하는 대괄호로 함수를 확장합니다.

단위 일수, 그렇지 않으면 "D"도 함수 끝에 있어야 합니다. 따라서 전체 함수는 아래와 같이 값 40을 반환하는 ‘=DATEDIF(B3, C3, “D”),’입니다.

DATEDIF는 날짜 정보를 수식에 직접 입력하는 경우에도 작동합니다. DATEDIF를 추가할 스프레드시트 셀을 클릭한 다음 fx에 ‘=DATEDIF(𔄜/5/2017”, 𔄝/15/2017″,”D”)’을 입력합니다. 바.

그러면 아래와 같이 선택한 셀에 40이 반환됩니다.

DAY360 기능

Google 스프레드시트에는 1년 360일 간의 날짜 차이를 계산하는 DAY360이 포함되어 있습니다. 360일 달력은 이자율 계산이 필요할 수 있는 재무 스프레드시트에 주로 사용됩니다.

DAYS360의 구문은 다음과 같습니다.

=DAYS360(start_date, end_date, [메서드]). [method]는 날짜 계산 방법에 포함할 수 있는 선택적 표시기입니다.

이 기능을 2016년 1월 1일 및 2017년 1월 1일 날짜의 Google 스프레드시트 스프레드시트에 사용하려면 B4 셀에 𔃱/1/2016’을 시작 날짜로 입력한 다음 𔃱/1을 입력합니다. /2017’을 C4에서 함수의 종료 날짜로 지정합니다.

이제 D4 셀을 선택하고 ‘fx’ 막대에 함수 ‘=DAYS360(B4, C4)’을 입력하고 Enter 키를 누릅니다. 그런 다음 셀 D4에는 선택한 날짜 사이의 총 360일이 포함됩니다. 이 특정 기능의 실제 용도는 이자율로 작업하는 경우뿐입니다.

NETWORKDAYS 함수

NETWORKDAYS는 날짜 사이의 일 수를 계산하지만 다른 날짜와 완전히 동일하지는 않습니다. 이 함수는 평일만 계산하므로 주말은 방정식에서 제외됩니다. (“Network Days”가 아니라 “Net Workdays”로 읽습니다.)

따라서 NETWORKDAYS를 사용하여 두 날짜 사이의 총 평일 수를 찾을 수 있으며 다른 날짜를 제외하도록 추가 휴일을 지정할 수도 있습니다.

NETWORKDAYS의 구문은 다음과 같습니다.

NETWORKDAYS(start_date, end_date, [휴일]).

B3 및 C3 셀에 입력한 예제 날짜 2017년 4월 4일 및 2017년 5월 15일을 사용하여 스프레드시트에 이 함수를 추가할 수 있습니다. 날짜 합계를 포함할 셀을 선택하고 ‘fx’ 막대를 클릭하여 함수를 삽입합니다.

‘=NETWORKDAYS(B3, C3)’을 입력하고 Enter 키를 눌러 선택한 스프레드시트 셀에 기능을 추가하십시오. NETWORKDAYS 셀에는 날짜 사이의 일 수에 대한 총 29일이 포함됩니다.

함수에 휴일 날짜를 추가하려면 먼저 A3 셀에 𔃴/17/2017’을 입력합니다. NETWORKDAYS 셀을 선택하고 fx 막대를 클릭한 다음 셀 참조 A3을 추가하여 함수를 수정합니다. 따라서 함수는 =NETWORKDAYS(B3, C3, A3)가 되며 총 일수에서 추가 공휴일도 뺀 28을 반환합니다.

기타 중요한 날짜 관련 기능

날짜에 대해 많은 작업을 수행하려는 경우 익숙해야 하는 스프레드시트의 날짜 관련 기능이 많이 있습니다.

  • 그만큼 데이트 함수는 제공된 년, 월, 일을 날짜로 변환합니다. 형식은 DATE(년,월,일)입니다. 예를 들어 DATE(2019,12,25)는 󈫼/25/2019”을 반환합니다.
  • 그만큼 DATEVALUE 함수는 올바른 형식의 날짜 문자열을 날짜 정수로 변환합니다. 형식은 DATEVALUE(날짜 문자열)입니다. 날짜 문자열은 󈫼/25/2019” 또는 𔄙/23/2012 8:5:30”과 같은 적절한 문자열일 수 있습니다.
  • 그만큼 함수는 특정 날짜가 속하는 달의 날짜를 숫자 형식으로 반환합니다. 형식은 DAY(날짜)입니다. 예를 들어 DAY(󈫼/25/2019”)는 25를 반환합니다.
  • 그만큼 함수는 두 날짜 사이의 일 수를 반환합니다. 형식은 DAYS(종료일, 시작일)입니다. 예를 들어 DAYS(󈫼/25/20189”, 𔄠/31/2019”)는 116을 반환합니다.
  • 그만큼 날짜 함수는 주어진 날짜 이전 또는 이후의 특정 개월 수의 날짜를 반환합니다. 형식은 EDATE(시작 날짜, 개월 수)입니다. 예를 들어 EDATE(𔄠/31/2019”, -1)는 𔄟/31/2019”을 반환합니다.
  • 그만큼 함수는 특정 날짜가 속하는 연도의 월을 숫자 형식으로 반환합니다. 형식은 MONTH(날짜)입니다. 예를 들어 MONTH(𔄠/30/2019”)는 8을 반환합니다.
  • 그만큼 오늘 함수는 현재 날짜를 날짜 값으로 반환합니다. 형식은 TODAY()입니다. 예를 들어 이 글을 쓰는 시점에서 TODAY()는 𔄠/31/2019”을 반환합니다.
  • 그만큼 주일 함수는 제공된 날짜의 요일을 표시하는 숫자 값을 반환합니다. 형식은 WEEKDAY(날짜, 유형)이고 유형은 1, 2 또는 3이 될 수 있습니다. 유형이 1이면 일 수는 일요일부터 계산되고 일요일 값은 1입니다. 유형이 2이면 일수는 월요일부터 계산되고 월요일의 값은 1입니다. 유형이 3이면 월요일부터 날짜가 계산되고 월요일의 값은 0입니다. 예를 들어 4/30/2019는 화요일이고 WEEKDAY(𔄜/30/2019”,1 )는 3을 반환하고 WEEKDAY(𔄜/30/2019”,2)는 2를 반환하고 WEEKDAY(𔄜/30/2019”,3)는 1을 반환합니다.
  • 그만큼 함수는 제공된 날짜의 연도를 나타내는 숫자 값을 반환합니다. 형식은 YEAR(날짜)입니다. 예를 들어 YEAR(󈫼/25/2019”)는 2019를 반환합니다.

Google 스프레드시트는 특히 완전 무료인 애플리케이션을 위한 매우 강력한 프로그램입니다. Microsoft Excel만큼 강력하지는 않지만 여전히 이 작업을 포함하여 다양한 작업을 처리할 수 있습니다.


모든 날짜의 요일을 계산합니다. 당신의 머리에

칵테일 파티 및 mdash에서 사람들에게 정말 깊은 인상을 남기고 싶다면 기괴하고 이상하며 레인맨과 같은 경계선인 Asperger's-syndrome 능력으로 사람들을 놀라게 하고 mdash는 어떤 날짜의 요일을 머리로 계산합니다. 약간의 암기 및 기본적인 계산 기술을 사용하면 예를 들어 1776년 7월 4일이 목요일인지, 아니면 지금부터 3년 후 친구의 생일이 일요일인지 알 수 있습니다.

나는 아이들이 어렸을 때 이 문제를 해결하기 시작했습니다. 아이들과 함께 크로스 컨트리를 운전하고 있을 때 & mdash 내 아들이 태어난 요일에 대해 계속 물어봤기 때문입니다. 나는 그의 생년월일을 알고 있었지만 그 날이 실제로 무슨 날인지는 평생 기억할 수 없었다. 나는 아내가 진통을 겪었다고 말했을 때 내가 일을 그만둬야 했기 때문에 주중에 일어난 일을 기억했다. 그러나 그것이 내가 생각해낼 수 있는 전부였다. 내가 차에 있었기 때문에 달력에 (편리한) 액세스 권한이 없었고 나 자신과 특별히 할 일이 없었기 때문에 머리 속에서 해결하려고 노력하기 시작했습니다.

  1. 목표 날짜와 현재 날짜 사이에 며칠이 발생했는지 파악하십시오.
  2. 이것을 7로 나누고 나머지 R을 계산하십시오.
  3. 대상 날짜가 과거인 경우 현재 요일에서 R일만큼 뒤로 계산합니다. 미래인 경우 앞으로 계산합니다.

첫 번째 주요 관찰은 1년에 52주가 있지만(윤활하지 않은) 1년에는 365일이 있다는 것입니다. 52 * 7 = 364이므로 매년 "추가" 날이 하나 있습니다. 따라서 오늘이 2012년 3월 15일 목요일이면 2013년 3월 15일은 금요일이 됩니다. 2014년 3월 15일은 토요일입니다. 2015년 3월 15일은 일요일이 됩니다. 따라서 주어진 날짜가 속하는 날짜(또는 해당하는 날짜)를 파악하려면 먼저 해당 날짜가 속하는 날짜를 파악하십시오. 연도를 입력한 다음 각 중간 연도에 대해 하루를 더하거나 뺍니다.

윤년은 중간에 있는 각 윤년에 대해 하루를 추가해야 하므로 이 작업을 조금 더 복잡하게 만듭니다. 하지만 머리로 해결하는 것도 불가능하지는 않습니다. 현재 연도와 목표 연도 사이에 발생하는 4의 배수마다 하루를 추가하면 됩니다. 예를 들어, 오늘은 2012년 1월 9일 월요일입니다. 1941년 1월 9일은 무슨 요일입니까? 음, 우선, 2012 - 1941 = 71 여러분은 이것을 머리 속에서 쉽게 알아낼 수 있습니다. 71년 사이에 윤년이 몇 번이나 있었습니까? 음, 71 / 4 = 17이므로 그 사이에 17개의 윤년이 있었습니다. 이제 17에서 71을 더하면 88이 됩니다. 이제 88/7의 나머지를 계산하여 현재 요일에서 몇 요일을 '뺄지' 1월 9일인지 알아내는 것은 간단한 문제입니다. , 1941년에 떨어졌다. 7로 나누면 나머지는 4가 됩니다. 따라서 현재 월요일에서 4일을 빼면 1941년 1월 9일이 목요일이 됩니다.

날짜를 계산할 때 알아야 할 한 가지 방법 미래로 또는 방법 지난 몇 년 동안 100의 배수는 아니 윤년은 4로 균등하게 나눌 수 있지만 400으로 나눌 수 없는 경우입니다. 따라서 400의 배수를 제외하고 원본 연도와 대상 연도 사이에 발생하는 100의 배수마다 1을 다시 빼야 합니다. 2400, 1600 , 1200, . 암흑 시대로 거슬러 올라가 계산하려고 하지 않는 한 이것은 어렵지 않을 것입니다. 이 경우 현재 윤년 규칙이 1582년까지 적용되지 않았다는 사실을 알고 있어야 합니다. , 그냥 달력을 받으세요.

따라서 알고리즘적으로 말하면 다른 연도의 같은 날 사이의 오프셋은 다음과 같습니다.

[ ( 목표 연도 - 출처 연도 ) + ( 목표 연도 - 출처 연도 ) / 4 ) ] % 7

마지막 조정: 목표 연도 또는 출처 연도인 경우 이다 윤년(&mdash)은 4로 균등하게 나눌 수 있으며, 빠른 날짜가 1월이나 2월이면 하루를 더하고 나중 날짜가 2월 이후이면 하루를 더해야 합니다. 분명히, 이 경우 하나만 조정하면 되므로 이를 추적하는 것은 그리 어렵지 않습니다. 날짜가 윤년에 속하는지 여부도 쉽게 알 수 있습니다. 마지막 두 자리 숫자가 4로 균등하게 나누어 떨어지면 윤년입니다. 예를 들어 76은 4로 균등하게 나누어 떨어지기 때문에 1776은 윤년이었습니다(1876, 1976, 2076 등).

이제 임의의 날짜로 연장하려면 먼저 선택한 날짜가 속하는 날짜를 파악하십시오. 연도를 확인한 다음 계산을 수행하여 차이를 파악합니다. 불행히도, 주어진 날짜가 현재 연도에 속하는 날짜를 알아내는 것이 다른 연도의 두 날짜의 차이를 알아내는 것보다 약간 어렵습니다. 각 달에 정확히 30일이 있으면 월의 차이를 계산하고 2를 곱할 수 있습니다(30% 7 = 2이므로). 실제 차이점은 아래 표에 나와 있습니다.

1월2월망치다4월할 수있다7월8월9월10월11월12월
1월033614625035
2월300351362402
망치다300351362402
4월633025036146
할 수있다155203514624
411530251361
7월633052036146
8월266315303513
9월522641630250
10월044163152035
11월300426415302
12월522641630520

표 1: 모든 월의 일 오프셋

당신이 그 거대함을 외울 수 있다면, 당신은 주어진 날짜가 속하는 날을 계산하는 나의 도움이 필요하지 않습니다. 이 계산을 단순화하는 방법이 있습니까?

사실, 문제를 단순화하는 것이 더 쉽습니다. 이 계산을 어렵게 만드는 한 가지는 오늘과 목표 날짜 사이의 일 수를 계산하려고 한다는 것입니다. 그러나 실제로 그렇게 할 필요는 없습니다. 제가 정말로 관심이 있는 것은 목표 날짜가 속하는 날입니다. 올해(2012년 일요일) 1월 1일이 무슨 날인지 기억할 수 있다면 요일과 내가 관심 있는 날짜. 이제 표 1의 맨 처음 행만 기억하면 됩니다.

그래도 - 꽤 무작위로 분포된 12개의 숫자입니다. 암기하기 쉽지 않습니다. 매월 30일이 있으면 이것이 쉬울 것이라고 앞서 언급한 것을 기억하십니까? 그런 다음 대상 월의 서수를 2로 곱하면 오프셋, mod 7이 됩니다. 월에는 다양한 일수가 있지만 얼마나 잘못된 것인지 암기하는 것이 훨씬 쉽습니다. 계산은 실제 차이 자체를 암기하는 것 이상입니다.

1월2월망치다4월할 수있다7월8월9월10월11월12월
01-1001123344

표 2: 여러 달 간의 차이.

이제 현재 연도의 날짜가 주어지면 (0부터 시작하는) 월 서수에 2를 곱한 다음 암기하기 쉬운 표 2의 숫자를 추가합니다. 이것은 당신에게 "월 오프셋"을 제공합니다 - 그리고 당신의 참조 날짜가 1월 1일이기 때문에 일 오프셋은 단지 그 달의 일입니다. 이 두 숫자를 더하고 나머지 모듈로 7을 계산하면 주어진 날짜가 현재 연도에 속하는 날짜를 알아낼 수 있는 오프셋이 생깁니다. 현재 연도도 1인 경우 윤년을 고려하는 것을 잊지 마십시오.

2012년 1월 1일이 일요일이라는 사실을 알고 2012년 9월 25일이 무슨 요일인지 알고 싶다고 가정해 봅시다. 8 * 2 = 16 + 3 (표 2에서) = 19 + 1 2012년은 윤년 = 20이므로 나머지 6은 모듈로 7이 됩니다. 따라서 2012년 9월 1일은 토요일이어야 합니다. 25일은 24일 후 24일이 나머지 3 mod 7을 남기므로 2012년 9월 25일은 화요일이어야 합니다. 이 모든 계산이 "0부터 시작"한다는 사실을 설명하기 위해 월과 일에서 1을 빼는 것을 잊지 마십시오. C 또는 Java 프로그래머라면 이를 추적하는 데 문제가 없어야 합니다.

사실, 현재 연도의 1월 1일이 무슨 날인지 추적할 필요조차 없습니다. 알려진 참조 날짜만 있으면 위에 표시된 대로 연도를 고려하여 해당 날짜와 관련된 모든 것을 계산할 수 있습니다. 2000년 1월 1일이 토요일이라는 것만 기억하고 거기에서 앞으로의 모든 것을 계산할 수 있습니다. 2000년을 참조 연도로 사용하면 빼기 쉽기 때문에 내 연도 계산을 쉽게 추적할 수 있습니다.

자, 이 모든 것을 종합해 봅시다. 2019년 7월 4일은 무슨 날이 될까요? M = 6, D = 3, Y = 19. 연도 오프셋은 19 + ( 19 / 4 ) = 23 % 7 = 2이므로 머리로 쉽게 파악할 수 있습니다. 2000년의 "소스 연도"가 윤년이었기 때문에 1을 추가하면 3이 됩니다. 월 오프셋은 (6*2)+1=13%7=6이고 일 오프셋은 물론 D=3입니다. 6+3+3=12 12%7=4이므로 2019년 7월 4일은 기준 날짜인 2000년 1월 1일 토요일: 2019년 7월 4일 목요일보다 5일 더 깁니다.

이것은 코드로 되어 있습니다. 이것은 컴퓨터에서 이 작업을 수행하는 가장 효율적인 방법은 아니지만 약간의 연습으로 다음에 크리스마스 여부를 알아야 할 때 암기하고 머리 속에서 반복할 수 있는 알고리즘을 캡슐화합니다. 올해 주말에 떨어지든 말든.


요일 계산기

과거 또는 미래 날짜의 요일을 계산합니다.

선택한 데이터 레코드:

데이터 기록 웹 브라우저의 로컬 저장소에 저장된 계산기 항목 집합입니다. 만약 데이터 기록 현재 "데이터" 탭에서 선택되어 있는 경우 이 줄에는 해당 데이터 레코드에 지정한 이름이 나열됩니다. 데이터 레코드를 선택하지 않았거나 이 계산기에 대해 저장된 항목이 없으면 행에 "없음"이 표시됩니다.

월간 "새로운 기능" 이메일 업데이트:

다음 검색에 내가 나타날지 누가 알겠습니까? 이렇게 하면 내가 무엇을 하고 어디에서 나를 찾을 수 있는지 항상 알 수 있습니다!

걱정하지 마세요. 귀하의 이메일 주소를 누구와도 공유하지 않을 것을 약속하고 월간 업데이트를 보내는 데만 사용할 것입니다.

중대한! 월간 업데이트를 받으려면 3개의 확인란을 모두 선택해야 합니다. 약관, 개인정보 보호정책 및 동의 부분.

나를 따라와 아래 소셜 미디어 사이트 중 하나에서 최신의 멋진 계산기 매달 추가되거나 업데이트되고 있습니다.

명령

요일 계산기 사용 방법

중대한: 숫자 입력 필드는 달러 기호, 퍼센트 기호, 쉼표, 공백 등을 포함할 수 없습니다(숫자 0-9 및 소수점만 허용됨).

클릭 자귀 각 항목에 대한 자세한 설명은 위의 탭을 참조하십시오.

1 단계:

월과 일을 선택하고 요일을 찾고자 하는 날짜의 4자리 연도를 입력합니다.

2 단계:

입력한 날짜가 다음 연도에 속하는 요일을 표시하는 차트를 계산기에서 생성하도록 하려면 년 수를 입력하십시오.

3단계:

"요일 찾기" 버튼을 클릭합니다.

용어 사전

필드, 용어 및 정의.

"재설정" 버튼을 클릭하면 계산기가 기본 설정으로 복원됩니다.

도움말 및 도구

클릭 ? 도움말 및 도구 지침은 탭을 참조하십시오.

글로벌 지침

계산기 지침

계산기 필드, 용어 및 정의

항목 및 메모 저장

포켓 계산기

즐겨찾기

내 즐겨찾기에 이 페이지를 추가하거나 제거합니다.

계산기 너비 조정:

슬라이더를 좌우로 움직여 계산기 너비를 조정합니다. 참고로 도움말 및 도구 계산기가 너무 넓어서 화면에 둘 다 맞지 않으면 패널이 숨겨집니다. 슬라이더를 왼쪽으로 이동하면 지침 및 도구 패널이 다시 표시됩니다.

또한 일부 계산기는 계산기를 넓히거나 좁힐 때 화면 크기에 맞게 다시 포맷됩니다. 계산기가 좁으면 입력 행의 열이 세로 입력 형식으로 변환되는 반면 더 넓은 계산기는 입력 행의 열을 표시하고 입력 필드의 크기가 작아집니다. "엄지손가락 친화"가 필요하지 않기 때문입니다.

팝업 키패드 표시/숨기기:

고르다 보여 주다 또는 숨는 장소 숫자 입력 필드 옆에 있는 팝업 키패드 아이콘을 표시하거나 숨깁니다. 일반적으로 숫자 키패드에 소수점이 없는 모바일 장치에만 필요합니다. 따라서 데스크탑을 사용하는 경우 계산기가 없으면 계산기가 더 사용자 친화적이고 덜 복잡하다는 것을 알 수 있습니다.

고정/분리 도구:

고르다 스틱 또는 떼어내다 도움말 및 도구 패널을 고정하거나 분리합니다. "고정"을 선택하면 계산기를 수직으로 스크롤하는 동안 패널이 계속 표시됩니다. 성가신 경우 "분리"를 선택하여 패널을 고정 위치에 유지하십시오.

도구 패널이 자체적으로 "Unstuck" 상태가 되면 "Unstick"을 클릭한 다음 "Stick"을 클릭하여 패널을 다시 붙이십시오.


요일 번호에서 날짜 가져오기

날짜 번호 또는 "n번째 날"에서 실제 날짜를 얻으려면 DATE 함수를 사용할 수 있습니다.

표시된 예에서 C5의 공식은 다음과 같습니다.

DATE 함수는 별도의 연도, 월 및 일 값에서 날짜를 작성합니다. 그 트릭 중 하나는 "범위를 벗어난" 날짜와 달이 지정된 경우 날짜를 수정하도록 롤포워드하는 기능입니다.

예를 들어 DATE는 다음 인수와 함께 2016년 4월 9일을 반환합니다.

1월에는 100일이 없으므로 DATE simple은 1월 1일에서 100일 앞으로 이동하고 숫자는 정확한 날짜를 반환합니다.

이 페이지의 수식은 이 동작을 활용합니다. 이 경우 연도는 2015년으로 가정하므로 2015년은 연도로 하드코딩되고 1은 월로 사용됩니다. 일 값은 B 열에서 가져오고 DATE 함수는 위에서 설명한 대로 날짜를 계산합니다.

Julian 날짜에서 연도 값 추출

형식이 "dddyy"인 10015와 같이 Julian 형식의 날짜가 있는 경우 다음과 같이 수식을 적용할 수 있습니다.

여기에서 RIGHT를 사용하여 오른쪽에서 연도의 2자를 추출하고 LEFT를 사용하여 왼쪽에서 3개의 문자를 추출합니다. 월은 첫 번째 예와 같이 1로 제공됩니다.


나이 계산

Excel을 사용하면 다양한 방식으로 사람의 나이를 계산할 수 있습니다. 아래 표는 날짜 및 시간 함수를 사용하여 이를 수행하는 일반적인 방법을 보여줍니다.

Excel에서 이러한 예를 사용하려면 테이블에서 데이터를 끌어서 선택한 다음 선택 항목을 마우스 오른쪽 버튼으로 클릭하고 . 새 워크시트를 열고 A1 셀을 마우스 오른쪽 버튼으로 클릭하고 붙여넣기 옵션 > 소스 서식 유지.

결과는 A2의 오늘과 생년월일의 차이인 사람의 나이입니다.

이 예에서는 YEAR 및 NOW 함수를 사용합니다.

이 셀에 숫자가 표시되지 않으면 숫자 또는 일반. 셀의 서식을 숫자 또는 날짜로 지정하는 방법을 알아봅니다.

셀 참조를 사용하지 않고 1960년에 태어난 사람의 나이입니다.

이 셀이 숫자로 표시되지 않으면 숫자 또는 일반. 셀의 서식을 숫자 또는 날짜로 지정하는 방법을 알아봅니다.

A5와 A3의 날짜 사이의 연도 분수 연령을 계산합니다.

A5와 A6의 날짜 사이의 나이, 즉 12.08을 계산합니다.

4년마다 발생하는 윤년을 설명하기 위해 공식에 365.25가 사용됩니다.

셀 참조를 사용하지 않고 두 날짜 사이의 일 수(153)를 계산합니다.

두 날짜 함수를 사용하여 두 날짜 사이의 일 수.

DAYS 함수의 두 인수는 실제 날짜, 셀 참조 또는 TODAY 함수와 같은 다른 날짜 및 시간 함수일 수 있습니다.

=(YEAR(NOW())-YEAR(A3))*12+MONTH(NOW())-MONTH(A3)

A3와 현재 날짜 사이의 개월 수입니다.

이 셀이 숫자로 표시되지 않으면 숫자 또는 일반. 셀의 서식을 숫자 또는 날짜로 지정하는 방법을 알아봅니다.

A2와 A3의 두 날짜 사이의 전체 근무일 수는 107입니다. 근무일은 주말과 공휴일을 제외합니다. 마지막 인수인 A3:A5는 근무일에서 뺄 휴일을 나열합니다.

A2와 A3의 두 날짜 사이의 일 수는 570입니다. 이는 회계 계산에서 일반적으로 사용되는 360일(30일 월 12개)을 기준으로 합니다.

이것을 날짜 형식으로 변환하면 A3의 날짜보다 4개월(또는 -4) 앞선 2014년 1월 2일이어야 합니다.

이 예에서는 은행권의 만기일을 계산하는 데 사용되는 EDATE 함수를 사용합니다.


요약: 모듈식 산술이 나눗셈의 나머지와 관련되는 방식

우리가 배우게 될 계산은 지난 기사에서 이야기한 모듈식 산술과 나눗셈의 나머지 간의 관계에 의존합니다. 따라서 달력 날짜를 요일로 변환하는 방법에 대해 이야기하기 전에 이 중요한 관계를 살펴보겠습니다.

회상하듯이, 이미 가능한 많은 시간을 완전히 돌고 난 후 그 숫자까지 세는 데 얼마나 많은 공간이 더 필요한지 계산하여 모듈로 12라는 숫자의 값을 찾을 수 있습니다. 예를 들어, 모듈러스 12 시계를 두 번 돌고 난 후 2 x 12 = 24 총 공간&mdash우리는 29에 도달하기 위해 여전히 5개의 공간을 더 둘러야 한다는 것을 깨닫고 모듈러스 12 산술에서 숫자 29의 값을 찾을 수 있습니다(24 + 5 = 29). 따라서 29 mod 12는 5와 합동입니다.

여기서 중요한 메시지는 29 mod 12에 대해 얻은 5의 답이 나눗셈 문제 29/12에서 나머지를 찾을 때 얻는 답과 정확히 동일하다는 것을 깨닫는 것입니다. 모듈러스로 숫자의 값을 찾으려면 모듈러스로 숫자를 나눌 때 남은 나머지를 알아내는 것입니다. 예: 10 mod 3 &equiv 1(10 / 3 = 3 나머지 1이므로), 12 mod 4 &equiv 0(12 / 4 = 3 나머지 0이므로), 등등.


날짜를 선택 임의의 날짜를 선택하려는 기간의 시작 및 종료 날짜(일, 월, 연도)를 지정하여 무작위로 시작합니다. 기본적으로 기간은 오늘부터 1년입니다.

추첨에서 특정 요일을 제외하려면 계속 선택하십시오. 그런 다음 원하는 출력 형식을 지정합니다. 마지막으로 "임의의 날짜 선택" 버튼을 누르면 소프트웨어가 무작위로 날짜를 그릴 수 있습니다.

If generating a lot of random dates at once (a maximum of 100 is supported by our random date generator), it is easiest to simply select all the contents of the textbox (click in it, then press Ctrl+A on a PC), followed by Ctrl+C (on a PC) to copy, then paste as needed. Note that all generated dates will be unique, if the time period permits (otherwise you'd get an error). The produced random dates are returned unsorted (that is, in order of generation, thus in random order), but sorting them in any spreadsheet software should be a piece of cake.


In this method, we are using the toordinal() 방법. toordinal() returns the count of days from the first day of Georgian calendar. Using this, we can get the count of days from 01/01/0001 for a specific date and then subtract with the first date of the year of specific date to get the day of year. Here is an example.

Another way is to use the strftime(). In strftime() there is a directive %j which returns the day of the year. Here is an example.