Sterrekunde

Bereken die dag van die jaar vir 'n gegewe datum

Bereken die dag van die jaar vir 'n gegewe datum


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.

Ek probeer die volgende formule verstaan ​​wat beweer dat ek die dag van die jaar bereken, gegewe die datum van vandag verteenwoordig deur (dag / maand / jaar):

N1 = vloer (275 * maand / 9) N2 = vloer ((maand + 9) / 12) N3 = (1 + vloer ((jaar - 4 * vloer (jaar / 4) + 2) / 3)) N = N1 - (N2 * N3) + dag - 30

Uiteindelik verwys N na bewering na die dag van die jaar.

Wat stel die towergetalle 275,9 ens in die vergelyking voor?


Dit sal regtig beter af wees in Stackoverflow, of 'n ander bladsy. Vermoedelik het u aangeneem dat sommige berekeninge afhanklik is van konsepte in Sterrekunde, wat sover ek kan sien dat dit deurgegaan het, dit nie met die uitsondering van die konsep van skrikkeljare nie; wat volgens my algemeen genoeg is om nie in Astronomie te wees nie. Ongeag:

Die vergelyking is 'n bietjie abstrak, dus die maklikste manier om dit te verstaan, is waarskynlik deur elke stukkie data te verstaan. Kom ons begin met N2, ek kom terug na N1:

N2 = vloer ((maand + 9) / 12)

N2 is gelyk aan 0 as maand minder as 3 is, en sal gelyk wees aan 1 as dit groter is. Hierdie formule is om te bepaal of Februarie verby is.

N3 = (1 + vloer ((jaar - 4 * vloer (jaar / 4) + 2) / 3))

N3 is gelyk aan 2 as die jaar nie 'n skrikkeljaar is nie, en sal gelyk wees aan 1 as dit 'n skrikkeljaar is. Die wiskunde hier is net om te bepaal of die huidige jaar 'n skrikkeljaar is.

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

Nou neem ons N1 (wat ek nog nie gedek het nie) en trek dit af deur die produk van N2 en N3, wat gelyk sal wees aan 0 as ons nie Maart bereik het nie, of as ons dit het, sal dit 1 wees op 'n skrikkeljaar, en 2 op 'n nie-skrikkeljaar. Daarna tel ons die nommer van die huidige dag van die maand op en trek 30. So, wat doen N1?

N1 = vloer (275 * maand / 9)

Laat ons kyk na die teruggekeerde waardes vergeleke met dae in 'n nie-skrikkeljaar:

Maand N1 Dagverskil 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 212 +1 8. 244 243 +1 9. 275 273 +2 10. 305 304 +1 11. 336 334 +2 12. 366 365 +1

'N Bietjie morsig, of hoe? Onthou nou dat u 30 van die totaal aan die einde aftrek om N te kry, en ons voeg die huidige datum by. Dit beteken dat, alhoewel ons ons huidige maand vermenigvuldig om N1 te kry, ons dit eintlik gebruik om die datums van die maande te bereken voorafgaande na ons huidige maand! As ons dus die waarde van N1 neem, dit met 30 aftrek en vergelyk met die vorige maand, sal die grafiek so uitkom:

Maand N1 Dagverskil 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. 214 212 +2 8. 245 243 + 2 9. 275 273 +2 10. 306 304 +2 11. 336 334 +2 12. --- 365 ---

Hieruit kan u sien dat die waarde van N1 2 groter is as die werklike datum vir enige dag waarop dit Maart of later is. Dit is perfek, aangesien N2 reeds 'n formule is wat dit bepaal vir die vang van skruddae. Let op, dit sal almal gelyk wees aan +1 in 'n skrikkeljaar, want op 'n ander dag sou in Februarie bygevoeg word. Kom dus terug na die finale berekening:

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

Ons neemN1en trek in deur die waarde van(N2 * N3), wat 2 sal wees op 'n nie-skrikkeljaar as Februarie verby is, 1 op 'n skrikkeljaar of 0 as ons nie Februarie geslaag het nie. Ons tel die dae in die huidige maand by en trek 30 af om die verrekening in te kryN1waardes.

Dit moet u deurgaans die dag van die jaar gee. Wat spesiale betekenis betref, word dit slegs vir wiskundige eienskappe gebruik. As u 'n getal tussen 1 en 12 deur 9 deel, dan is dit net minder as 1 vir getalle kleiner as 3, en groter as of gelyk aan 1 en minder as 2 tot 12, daarom het ons begin Maart. Die275 * (maand / 9)formule Ek is nie seker waar hulle aan gekom het nie. AFAIK, hulle het geen spesiale betekenis vir tyd of die Sun-Earth-stelsel nie - hulle is eerder gekies omdat hulle die spesifieke gebruik goed bereken.


Javaskrip

Uitset: 1 (Maandag)
Kyk hierna vir 'n uiteensetting van bogenoemde funksie.
Verwysings:
http://en.wikipedia.org/wiki/Bepaling_van_die_dag_van_die_week
Hierdie artikel is saamgestel deur Dheeraj Jain en deur die GeeksforGeeks-span hersien. Skryf asseblief kommentaar as u iets verkeerds vind, of as u meer inligting wil deel oor die onderwerp wat hierbo bespreek is

Aandagleser! Hou nou nie op met leer nie. Kry al die belangrike DSA-konsepte met die DSA self tempo kursus teen 'n studentevriendelike prys en word gereed vir die industrie. Raadpleeg asb om u voorbereiding op die leer van 'n taal tot DS Algo en vele meer te voltooi Volledige voorbereidingskursus vir onderhoude.

As u regstreekse klasse met kundiges in die bedryf wil bywoon, verwys asseblief DSA Live Klasse


Dag van die jaar Sakrekenaar

Ongelukkig is daar geen direkte funksie vir ons om die spesifieke dag van 'n jaar te bereken nie, maar u kan die volgende eenvoudige formule toepas om hierdie taak op te los. 1. Voer hierdie formule in: = A2-DATUM (JAAR (A2), 1,0) & # 32in 'n leë sel, & # 32kiekie: Wenk: A2 bevat die datum waarop u die dag van die jaar wil bereken, & # 32Jy kan dit na jou behoefte verander.

Hoe bereken u die aantal dae in 'n jaar?

Bereken die aantal dae in 'n gegewe jaar met formules. Om die aantal dae in 'n jaar te kry, doen & doen as volg: voer hierdie formule in: = DATUM (JAAR (A2), 12,31) -DATUM (JAAR (A2), 1,1) + 1 & # 32 in a leë sel langs u datumsel, & # 32 Sleep dan die vulhandvatsel af na die selle wat u die dae in die spesifieke jaar wil bereken.

Hoe bereken u die aantal dae in 'n jaar?

Dag van die jaar is 'n getal tussen 1 en 365 (of 366, & # 32 as 'n skrikkeljaar). Byvoorbeeld, & # 321 Jan is dag 1, en # 325 Februarie is dag 36 ensovoorts. Om die dag van die jaar te bereken, voeg ons net dae in die gegewe maand by die dae in die vorige maande.

Hoe bereken u dae vanaf 'n sekere datum?

Hoe om dae vanaf datum in Excel te bereken. Om 'n datum te vind wat N dae vanaf 'n sekere datum is, & # 32 voeg net die vereiste aantal dae by u datum: Datum + & # 32N dae. Die belangrikste punt is om die datum aan te gee in die formaat wat Excel verstaan.


Hoe om dae tussen datums in Google Blaaie te bereken

Voordat u begin, is dit belangrik om daarop te let dat hierdie metodes slegs werk as u die Amerikaanse datumformaat gebruik. As u nie in die Verenigde State is nie, kan u na Google Sheets gaan en u plaaslike en tydsone verander as u hierdie metodes wil gebruik.

Dit gesê, kom ons kyk na hoe om die aantal dae tussen twee datums in Google Blaaie te vind.

Die MINUS-funksie

Anders as Excel, het Google Sheets 'n aftrekfunksie wat baie handig is om eenvoudige datumverskille te bereken. MINUS is Sheets & # 8217 aftrekfunksie, en vanweë die manier waarop datums intern gestoor word (as heelgetalle wat die aantal dae sedert 'n sekere datum in die verlede beskryf), werk dit net goed om die een datum van die ander af te trek. Dit wil sê, solank die datums albei in dieselfde formaat is. Die sintaksis vir MINUS is: = MINUS (waarde 1, waarde 2).

Om MINUS te gebruik, maak u 'n leë Google Sheets-sigblad in u blaaier oop. Tik (as voorbeeld) & # 82164/4/2017 & # 8217 en & # 82165/15/2017 & # 8217 in selle B3 en C3 in.

Kies nou sel D3, dit is waar ons die MINUS-funksie sal plaas. Klik in die & # 8216fx & # 8217-balk, en voer dan & # 8216 = MINUS (C3, B3) & # 8217 in en druk Enter. Cell D3 gee nou die waarde 40 terug, soos hieronder getoon.

Dit beteken dat daar 40 dae tussen 4/5/2017 en 5/15/2017 is. U kan ook die verskil tussen die datums vind deur net die selverwysings in te voer en u nie aan die MINUS-funksie te steur nie.

Klik byvoorbeeld op sel E3 en voer & # 8216 = C3-B3 & # 8217 in in die funksiebalk, soos getoon in die momentopname direk hieronder. Dit sal ook 40 lewer. Alhoewel u dadelik aftrek van datums sonder MINUS, sal die waarde in sel E waarskynlik in datumformaat vertoon en baie vreemd lyk.

U kan die selformaat omskakel om 'n heelgetalwaarde te toon deur te kies Formaat & gt Nommer en Nommer.

U kan ook eers die selverwysings met die vorige datum invoer. As u & # 8216 = B3-C3 & # 8217 in die funksiebalk ingevoer het, sou die sel die waarde -40 bevat. Dit beklemtoon dat 4/4/2017 40 dae agter is op 15/5/2017.

Die DATEDIF-funksie

DATEDIF is 'n funksie wat u help om die totale dae, maande of jare tussen twee datums te vind. U kan die totale dae tussen twee datums wat in die sigblad ingevoer is, vind of eerder die datums in DATEDIF insluit.

Die sintaksis vir DATEDIF is:

DATEDIF (begindatum, einddatum, eenheid). Die eenheid vir die funksie kan D (dae), M (maande) of Y (jaar) wees.

Om die verskil tussen 4/4/2017 en 5/15/2017 met DATEDIF te vind, moet u 'n sel kies om die funksie by te voeg (F3, in ons geval) en voer & # 8216 = DATEDIF & # 8217 in die & # 8216fx & # 8217 kroeg. Brei dan die funksie uit met hakies wat die begin- en einddatum-selverwysings B3 en C3 bevat.

Die eenheidsdae, andersins "D", moet ook aan die einde van die funksie wees. Die volledige funksie is dus & # 8216 = DATEDIF (B3, C3, & # 8220D & # 8221), & # 8217 wat die waarde 40 oplewer, soos hieronder getoon.

DATEDIF sal ook werk as u die datuminligting direk in die formule plaas. Klik op 'n sigblad om DATEDIF by te voeg en voer dan & # 8216 = DATEDIF (& # 82204/5/2017 & # 8221, & # 82205/15/2017 & # 8243, & # 8221D & # 8221) & # 8217 in die fx in kroeg.

Dit sal 40 in die geselekteerde sel oplewer, soos hieronder getoon.

Die DAY360-funksie

Google Blaaie bevat DAY360, wat die verskil bereken tussen datums vir 'n jaar van 360 dae. Die 360-dae kalender word hoofsaaklik gebruik vir finansiële sigblaaie waarin rentekoersberekeninge benodig kan word.

Die sintaksis vir DAYS360 is:

= DAYS360 (begindatum, einddatum, [metode]). Die [metode] is 'n opsionele aanwyser wat u kan insluit vir die dagtellingmetode.

Om hierdie funksie op u Google Sheets-sigblad vir die datums 1/1/2016 en 1/1/2017 te gebruik, voer & # 82161/1/2016 & # 8217 in sel B4 in as die begindatum, en voer dan & # 82161/1 in / 2017 & # 8217 in C4 as die einddatum vir die funksie.

Kies nou sel D4, voer die funksie in & # 8216 = DAYS360 (B4, C4) & # 8217 in die & # 8216fx & # 8217 balk en druk Enter. Dan bevat sel D4 'n totaal van 360 dae tussen die gekose datums. Let daarop dat die enigste werklike gebruik vir hierdie spesifieke funksie is as u met rentekoerse werk.

Die NETWERKDAE-funksie

NETWERKDAE bereken ook die aantal dae tussen datums, maar dit is nie heeltemal dieselfde as die ander nie. Hierdie funksie tel slegs die weeksdae, dus laat dit naweke buite die vergelyking. (Lees dit as & # 8220Net Werksdae & # 8221 eerder as & # 8220Netwerkdae & # 8221.)

As sodanig kan u die totale aantal weeksdae tussen 'n paar datums met NETWERKDAE vind, en u kan ook ekstra vakansiedae spesifiseer sodat dit ander datums uitsluit.

Die sintaksis vir NETWORKDAYS is:

NETWERKDAE (begindatum, einddatum, [vakansiedae]).

U kan hierdie funksie by u sigblad voeg met die voorbeelddatums 4/4/2017 en 5/15/2017 wat in selle B3 en C3 ingevul is. Kies 'n sel om die dagtotaal in te sluit, en klik in die & # 8216fx & # 8217 -balk om die funksie in te voeg.

Invoer & # 8216 = NETWERKDAE (B3, C3) & # 8217 en druk die Enter-sleutel om die funksie by die sigblad te voeg wat u daarvoor gekies het. Die NETWORKDAYS-sel bevat die totaal van 29 vir die aantal dae tussen die datums.

Om 'n vakansiedatum by die funksie te voeg, voer eers & # 82164/17/2017 & # 8217 in sel A3 in. Kies die NETWORKDAYS-sel, klik op die fx-balk en verander die funksie deur die selverwysing A3 daarby te voeg. Die funksie is dus = NETWERKDAE (B3, C3, A3), wat 28 oplewer met die ekstra bankvakansie wat ook van die totale dae afgetrek word.

Ander belangrike funksies wat verband hou met die datum

Daar is 'n aantal datumverwante funksies in Sheets wat u moet ken as u baie met die datums gaan werk.

  • Die DATUM funksie skakel 'n bepaalde jaar, maand en dag om in 'n datum. Die formaat is DATE (jaar, maand, dag). DATE (2019,12,25) keer byvoorbeeld terug & # 822012/25/2019 & # 8221.
  • Die DATUMWAARDE funksie sit 'n behoorlik geformateerde datastring om in 'n datumgetal. Die formaat is DATUMWAARDE (datumreeks), die datumreeks kan enige toepaslike string wees, soos & # 822012/25/2019 & # 8221 of & # 82201/23/2012 8: 5: 30 & # 8221.
  • Die DAG funksie gee die numeriese formaat die dag van die maand waarop 'n spesifieke datum val, terug. Die formaat is DAG (datum). Byvoorbeeld, DAG (& # 822012/25/2019 & # 8221) lewer 25 op.
  • Die DAE funksie gee die aantal dae tussen twee datums terug. Die formaat is DAYS (einddatum, begindatum). Byvoorbeeld, DAYS (& # 822012/25/20189 & # 8221, & # 82208/31/2019 & # 8221) gee 116 terug.
  • Die EDATEER funksie gee 'n datum terug 'n spesifieke aantal maande voor of na die gegewe datum. Die formaat is EDATE (begindatum, aantal maande). Byvoorbeeld, EDATE (& # 82208/31/2019 & # 8221, -1) gee terug & # 82207/31/2019 & # 8221.
  • Die MAAND funksie gee die maand van die jaar waarop 'n spesifieke datum val, in numeriese formaat terug. Die formaat is MAAND (datum). MAAND (& # 82208/30/2019 & # 8221) gee byvoorbeeld 8 terug.
  • Die VANDAG funksie gee die huidige datum as 'n datumwaarde. Die formaat is VANDAG (). By die skrywe sou TODAY () byvoorbeeld terugkeer & # 82208/31/2019 & # 8221.
  • Die WEEKDAG funksie gee 'n numeriese waarde wat die dag van die week van die datum wat aangebied word, weergee. Die formaat is WEEKDAG (datum, tipe) en die tipe kan 1, 2 of 3 wees. As tipe 1 is, word dae vanaf Sondag getel en Sondag het die waarde van 1. As tipe 2 is, word dae vanaf Maandag getel en die waarde van Maandag is 1. As tipe 3 is, word dae vanaf Maandag getel en die waarde van Maandag is 0. Byvoorbeeld, 30/4/2019 is 'n Dinsdag en WEEKDAG (& # 82204/30/2019 & # 8221,1 ) sou 3 terugkeer, terwyl WEEKDAY (& # 82204/30/2019 & # 8221,2) 2 sou terugkeer en WEEKDAY (& # 82204/30/2019 & # 8221,3) sou 1 terugkeer.
  • Die JAAR funksie gee 'n numeriese waarde wat die jaar van die verstrekte datum weergee. Die formaat is YEAR (datum). Byvoorbeeld, YEAR (& # 822012/25/2019 & # 8221) sal 2019 terugkeer.

Google Sheets is 'n ongelooflike kragtige program, veral vir 'n aansoek wat heeltemal gratis is. Alhoewel dit miskien nie so kragtig is soos iets soos Microsoft Excel nie, kan dit steeds 'n wye verskeidenheid take hanteer, waaronder hierdie.


Bereken die weekdag van enige datum. in jou kop

As u mense regtig wil beïndruk by cocktailpartytjies en mdash, en deur indruk te maak, bedoel ek hulle met u vreemde, vreemde, reënmanagtige Asperger-sindroom-vermoëns en mdash bereken die weekdag van enige datum in u kop. Met 'n bietjie memorisering en 'n basiese rekenkundige vaardigheid, kan u agterkom dat byvoorbeeld 4 Julie 1776 op 'n Donderdag geval het, of dat u vriend se verjaardag op 'n Sondag oor drie jaar sal val.

Ek het dit begin uitwerk toe my kinders klein was, terwyl ek saam met hulle landloop en my seun my altyd gevra het op watter dag van die week hy gebore is. Ek het die datum van sy geboorte geken, maar ek kon my lewe lank nie onthou op watter dag dit eintlik geval het nie. Ek het onthou dat dit gedurende die week plaasgevind het, aangesien ek die werk moes verlaat toe my vrou my vertel het dat sy kraam, maar dit is al wat ek kon uitdink. Aangesien ek in die motor was, sonder (maklike) toegang tot 'n kalender en mdash en niks anders beter met myself te doen het nie, het ek probeer om dit in my kop uit te werk.

  1. Stel vas hoeveel dae tussen die teikendatum en die huidige datum plaasgevind het.
  2. Verdeel dit deur 7 en bereken die res R
  3. As die teikendatum in die verlede is, tel terug van die huidige dag van die week af met R dae as u in die toekoms vorentoe moet tel.

Die eerste belangrike waarneming is dat daar 52 weke in 'n jaar is, maar 365 dae in 'n (nie-sprong) jaar. Aangesien 52 * 7 = 364, beteken dit dat daar elke jaar 'n 'ekstra' dag is. Dus, as dit vandag Donderdag 15 Maart 2012 is, dan val 15 Maart 2013 op 'n Vrydag. 15 Maart 2014 val op 'n Saterdag. 15 Maart 2015 sal op 'n Sondag val, ensovoorts. As u dus wil uitvind op watter dag 'n gegewe datum val (of val op), moet u eers uitvind op watter dag daardie datum sal val hierdie jaar, en tel dan een dag vir elke tussenliggende jaar op of aftrek.

Skrikkeljare maak dit 'n bietjie ingewikkelder, want u moet een dag byvoeg vir elke tussenjaar-skrikkeljaar. maar dit is ook nie onmoontlik om in jou kop uit te werk nie. Voeg net 'n ekstra dag by vir elke veelvoud van vier wat tussen die huidige jaar en die teikenjaar plaasvind. Dit is byvoorbeeld Maandag 9 Januarie 2012. Op watter dag het 9 Januarie 1941 geval? Nou ja, om mee te begin, 2012 - 1941 = 71, kan u dit maklik in u kop agterkom. Hoeveel skrikkeljare het daar in die 71 jaar voorgekom? Nou ja, 71/4 = 17, so daar was 17 skrikkeljare tussenin. Voeg nou 17 tot 71 by om 88 te kry. Dit is eenvoudig om die res van 88/7 uit te vind om uit te vind hoeveel dae van die week u van die huidige tyd moet aftrek om uit te vind watter dag 9 Januarie is. , 1941 val op. As u op 7 deel, kry u 'n res van 4 - trek dus vier dae van die huidige Maandag af om vas te stel dat 9 Januarie 1941 op 'n Donderdag geval het.

Een ding om op te let as u datums bereken manier die toekoms in of manier die afgelope jare is dit veelvoude van 100 nie skrikkeljare, alhoewel hulle eweredig met 4 verdeel kan word, tensy dit met 400 deelbaar is. U moet dus weer 1 aftrek vir elke veelvoud van 100 wat tussen die bron en die teikenjaar voorkom, uitgesluit die veelvoude van 400: 2400, 1600 , 1200 ,. Dit sal nie moeilik wees nie, tensy u probeer om terug te reken na die donker eeue. In hierdie geval moet u seker wees dat die huidige skrikkeljaarreëls eers in 1582 in werking getree het. As u so ver terug moet bereken , kry net 'n kalender.

Algoritmies gesproke word die verrekening tussen dieselfde dag op verskillende jare dus gegee deur:

[(teikenjaar - bronjaar) + (teikenjaar - bronjaar) / 4)] 7

Een laaste aanpassing: as die teiken- of bronjaar is 'n skrikkeljaar en mdash kan eweredig met 4 gedeel word en u moet een dag byvoeg as die vorige datum in Januarie of Februarie val, en voeg een dag by as die latere datum na Februarie val. Dit is duidelik dat u in hierdie geval net een sal hoef aan te pas, dus dit is nie te moeilik om dit dop te hou nie. Dit is ook maklik om te sien of 'n datum op 'n skrikkeljaar val - as die laaste twee syfers eweredig met 4 verdeel kan word, dan is dit 'n skrikkeljaar. Aangesien 76 eweredig deur 4 verdeelbaar is, was 1776 byvoorbeeld 'n skrikkeljaar (en so ook 1876, 1976, en so sal dit ook 2076 wees, ens.).

As u dit nou wil uitbrei na enige willekeurige datum, moet u eers uitvind op watter dag u gekose datum sal val hierdie jaar, en voer dan die berekening uit om die verskil te bepaal. Ongelukkig is dit 'n bietjie moeiliker om uit te vind op watter dag 'n gegewe datum in die huidige jaar val, as om die verskil tussen twee datums in verskillende jare te bepaal. Dit sal onbeduidend wees as u elke maand presies 30 dae het, dan kan u die verskil in maande bereken en met 2 vermenigvuldig (aangesien 30% 7 = 2). Die werklike verskille word deur die onderstaande tabel gegee.

Jan.Feb.MrtApr.MeiJunJulAug.Sep.Okt.Nov.Des
Jan.033614625035
Feb.300351362402
Mrt300351362402
Apr.633025036146
Mei155203514624
Jun411530251361
Jul633052036146
Aug.266315303513
Sep.522641630250
Okt.044163152035
Nov.300426415302
Des522641630520

Tabel 1: Dagverslae vir alle maande

As u die kol kan onthou, het u nie my hulp nodig om die dag waarop 'n gegewe datum val, te bereken nie. is daar 'n manier om hierdie berekening te vereenvoudig?

Wel, dit is makliker om die probleem net te vereenvoudig. Een ding wat hierdie berekening moeilik maak, is dat ek die aantal dae tussen vandag en die teikendatum probeer bereken. Maar ek hoef dit nie eintlik te doen nie - al waarin ek regtig belangstel, is die dag waarop die teikendatum val. As ek kan onthou op watter dag 1 Januarie vanjaar (Sondag, in 2012) val, kan ek die verrekening tussen daardie dag en die datum waarin ek belangstel. Nou hoef ek net die heel eerste ry van tabel 1 te onthou.

Nogtans - dit is 12 redelik lukraak verspreide getalle. nie maklik om te memoriseer nie. Onthou u vroeër toe ek noem dat dit maklik sou wees as elke maand 30 dae gehad het? Dan kon ek die ordinale maand van die teikenmaand net met 2 vermenigvuldig, en dit sou my verrekening gee, mod 7. Alhoewel maande verskillende getalle dae het, is dit baie makliker om te onthou hoe verkeerd hierdie berekening is as om die werklike verskille self te memoriseer.

Jan.Feb.MrtApr.MeiJunJulAug.Sep.Okt.Nov.Des
01-1001123344

Tabel 2: verskille tussen verskillende maande.

Gee nou 'n datum in die huidige jaar, vermenigvuldig sy (nul-gebaseerde) maand ordinaal met 2 en voeg dan die getal in tabel 2 by, wat maklik is om te onthou. Dit gee u die "maandverrekening" - en aangesien u verwysingsdatum 1 Januarie is, is die verrekeningsdag net die dag van die maand. Voeg hierdie twee getalle by, bereken die res modulo 7, en u het 'n verrekening om uit te vind op watter dag 'n gegewe datum in die huidige jaar val. Moenie vergeet om die skrikkeljaar in berekening te bring as die huidige jaar ook een is nie.

Laat ons dus sê dat u wil uitvind op watter dag 25 September 2012 val, wetende dat 1 Januarie 2012 op 'n Sondag val. 8 * 2 = 16 + 3 (vanaf tabel 2) = 19 + 1 aangesien 2012 'n skrikkeljaar = 20 is, wat 'n restant van 6 modulo 7 laat. Daarom moet 1 September 2012 op 'n Saterdag val. Die 25ste is 24 dae nadat 24 'n res van 3 mod 7 verlaat, dus moet 25 September 2012 op 'n Dinsdag val. Moet net nie vergeet om 1 van die maand en dag af te trek om rekening te hou met die feit dat al hierdie berekeninge 'nul-gebaseer' is nie. As u 'n C- of Java-programmeerder is, moet u probleme ondervind om dit dop te hou.

In werklikheid is dit nie eens nodig om by te hou op watter dag 1 Januarie in die huidige jaar val nie - al wat u benodig, is 'n bekende verwysingsdatum, en u kan alles met betrekking tot die datum bereken, met die jaarrekening soos hierbo aangedui. Ek onthou net dat 1 Januarie 2000 'n Saterdag was, en ek kan al die ander dinge daarvandaan bereken. Deur die jaar 2000 as 'n verwysingsjaar te gebruik, is dit maklik om my jaarberekeninge by te hou, want dit is maklik om af te trek.

Laat ons dit alles saamstel. Op watter dag val 4 Julie 2019? M = 6, D = 3, Y = 19. Die jaarverrekening is 19 + (19/4) = 23% 7 = 2, wat u maklik in u kop kan uitvind. Voeg een by aangesien die "bronjaar" van 2000 'n skrikkeljaar was om 3 te kry. Die maandverrekening is (6 * 2) + 1 = 13% 7 = 6 en die dagverrekening is natuurlik D = 3. 6 + 3 + 3 = 12 12% 7 = 4, dus 4 Julie 2019 is vyf dae langer as die verwysingsdatum van Saterdag 1 Januarie 2000: Donderdag 4 Julie 2019.

Hier is dit in kode: dit is nie noodwendig die doeltreffendste manier om dit op 'n rekenaar te doen nie, maar bevat 'n algoritme wat u met 'n bietjie oefening kan onthou en in u kop kan herhaal volgende keer as u moet weet of dit Kersfees is. sal hierdie jaar op 'n naweek val of nie.


Dag van die week Sakrekenaar

Bereken die dag van die week vir enige vorige of toekomstige datum.

Geselekteerde datarekord:

A Datarekord is 'n stel sakrekenaarinskrywings wat in u plaaslike blaaier gestoor word. As 'n Datarekord tans gekies is in die "Data" -oortjie, sal hierdie reël die naam gee wat u aan die datarekord gegee het. As geen datarekord gekies is nie, of as u geen inskrywings vir hierdie sakrekenaar het nie, sal die reël 'Geen' vertoon.

Maandelikse e-posopdatering "Wat is nuut":

Wie weet of ek in u volgende soektog sal verskyn. Dit sal verseker dat u altyd sal weet wat ek gedoen het en waar u my kan kry!

En moenie bekommerd wees nie. Ek belowe om u e-posadres met niemand te deel nie, en sal dit slegs gebruik om die maandelikse opdatering te stuur.

Belangrik! Om die maandelikse opdaterings te ontvang, moet al drie blokkies in die Voorwaardes, privaatheidsbeleid en toestemming afdeling.

Volg my op een van die sosiale media-webwerwe hieronder en wees onder die eerstes wat 'n voorsmakie van die nuutste en coolste sakrekenaars wat elke maand bygevoeg of opgedateer word.

Instruksies

Hoe om die Dag van die Week Sakrekenaar te gebruik

BELANGRIK: Numeriese invoervelde mag nie dollartekens, persentasietekens, komma's, spasies, ens. Bevat nie (slegs syfers 0-9 en desimale punte word toegelaat).

Klik op die Voorwaardes blad hierbo vir 'n meer gedetailleerde beskrywing van elke inskrywing.

Stap 1:

Kies die maand en dag en voer die vier-syferjaar in van die datum waarvoor u die dag van die week wil vind.

Stap # 2:

As u wil hê dat die sakrekenaar 'n grafiek moet genereer wat toon op watter dag van die week die ingevoerde datum in die daaropvolgende jare sal val, voer die aantal jare in.

Stap # 3:

Klik op die knoppie "Vind dag van die week".

Woordelys

Velde, terme en definisies.

Deur op die "Reset" -knoppie te klik, word die sakrekenaar teruggestel na die standaardinstellings.

Hulp en gereedskap

Klik op die ? blad vir hulp- en gereedskapinstruksies.

Globale instruksies

Sakrekenaarinstruksies

Sakrekenaarvelde, terme en definisies

Stoor inskrywings en notas

Sakrekenaar

Gunstelinge

Voeg hierdie bladsy by of verwyder dit na / uit my gunstelinge.

Pas sakrekenaarwydte aan:

Beweeg die skuifbalk na links en regs om die sakrekenaarbreedte aan te pas. Let daarop dat die Hulp en gereedskap paneel sal weggesteek word wanneer die sakrekenaar te breed is om beide op die skerm te pas. As u die skuifbalk na links skuif, word die instruksies en gereedskappaneel weer in sig gebring.

Let ook daarop dat sommige sakrekenaars herformateer om die skermgrootte te akkommodeer namate u die sakrekenaar wyer of smaller maak. As die sakrekenaar smal is, word kolomme van inskrywingsreëls omgeskakel na 'n vertikale inskrywingsvorm, terwyl 'n wyer sakrekenaar kolomme met invoerrye sal vertoon, en die invoervelde kleiner sal wees. aangesien hulle nie 'duimvriendelik' hoef te wees nie.

Wys / verberg opspringtoetsblokke:

Kies Wys of Steek weg om die pop-uptoetsblokkie-ikone te wys of weg te steek wat langs numeriese invoervelde geleë is. Dit is gewoonlik slegs nodig vir mobiele toestelle wat nie desimale punte in hul numeriese sleutelbord het nie. As u dus op 'n lessenaar is, kan die sakrekenaar dalk gebruikersvriendeliker en minder deurmekaar wees.

Gereedskap vir stok / ontknoping:

Kies Steek vas of Ontkoppel om die paneel vir hulp en gereedskap te plak of te verwyder. As u 'Stick' kies, word die paneel in sig gehou terwyl u die sakrekenaar vertikaal blaai. As u dit irriterend vind, kies "Unstick" om die paneel in 'n stilstaande posisie te hou.

As die paneel gereedskap op sy eie "Unstuck" word, klik dan op "Unstick" en dan "Stick" om die paneel weer vas te plak.


Kry datum vanaf dag nommer

Om 'n regte datum vanaf dagnommer, of "negende dag van jaar", te kry, kan u die DATUM-funksie gebruik.

In die getoonde voorbeeld is die formule in C5:

Die DATE-funksie-opbou dateer uit afsonderlike jaar-, maand- en dagwaardes. Een van sy truuks is die vermoë om vorentoe te beweeg na die korrekte datums wanneer daar dae en maande gegee word wat buite die bereik is.

DATE lewer byvoorbeeld 9 April 2016 op met die volgende argumente:

Daar is geen honderdste dag in Januarie nie, dus beweeg DATE eenvoudig 100 dae vanaf 1 Januarie vorentoe en syfers gee die regte datum.

Die formule op hierdie bladsy maak gebruik van hierdie gedrag. Die jaar is in hierdie geval veronderstel om 2015 te wees, dus is 2015 hardgekodeer vir jaar en 1 word maandeliks gebruik. Die dagwaarde kom uit kolom B, en die DATUM-funksie bereken die datum soos hierbo uiteengesit.

Onttrek 'n jaarwaarde vanaf 'n Juliaanse datum

As u 'n datum in 'n Juliaanse formaat het, byvoorbeeld 10015, waarin die formaat 'dddyy' is, kan u die formule soos volg aanpas:

Hier gebruik ons ​​REG om die twee karakters regs vir jaar uit te haal, en LINKS om 3 karakters vir dag vir links te onttrek. Maand word as 1 gegee, soos die eerste voorbeeld.


Bereken ouderdom

Excel kan u help om die ouderdom van 'n persoon op verskillende maniere te bereken. Die onderstaande tabel toon algemene metodes om dit te doen met behulp van die Datum- en tydfunksies.

Om hierdie voorbeelde in Excel te gebruik, sleep om die data in die tabel te selekteer, klik dan met die rechtermuisknop op die keuse en kies Kopieer. Maak 'n nuwe werkblad oop, klik regs met die sel A1 en kies Plak opsies en hou behoud van bronformatering.

Die resultaat is die ouderdom van die persoon - die verskil tussen vandag en die geboortedatum in A2.

In hierdie voorbeeld word die JAAR- en NOU-funksies gebruik.

As hierdie sel nie 'n nommer vertoon nie, moet u seker maak dat dit geformateer is as 'n nommer of Generaal. Leer hoe u 'n sel kan formateer as 'n nommer of datum.

Die ouderdom van 'n persoon wat in 1960 gebore is, sonder om selverwysings te gebruik.

As hierdie sel nie as 'n nommer verskyn nie, moet u seker maak dat dit geformateer is as 'n nommer of Generaal. Leer hoe u 'n sel kan formateer as 'n nommer of datum.

Bereken die jaar-fraksionele ouderdom tussen die datums in A5 en A3.

Bereken die ouderdom tussen die datums in A5 en A6, wat 12.08 is.

Om 'n skrikkeljaar wat elke 4 jaar plaasvind, te verreken, word 365.25 in die formule gebruik.

Bereken die aantal dae tussen twee datums sonder om selverwysings te gebruik, wat 153 is.

Die aantal dae tussen twee datums, met behulp van twee datumfunksies.

Die twee argumente van die DAYS-funksie kan werklike datums, selverwysings of 'n ander datum- en tydfunksie wees - soos die VANDAG-funksie.

= (JAAR (NOU ()) - JAAR (A3)) * 12 + MAAND (NOU ()) - MAAND (A3)

Die aantal maande tussen A3 en die huidige datum.

As hierdie sel nie as 'n nommer verskyn nie, moet u seker maak dat dit geformateer is as 'n nommer of Generaal. Leer hoe u 'n sel kan formateer as 'n nommer of datum.

Die aantal hele werksdae tussen die twee datums in A2 en A3, wat 107 is. Werksdae sluit naweke en vakansiedae uit. Die laaste argument, A3: A5, gee 'n lys van die vakansiedae wat van die werksdae afgetrek moet word.

Die aantal dae tussen die twee datums in A2 en A3, wat 570 is. Dit is gebaseer op 'n jaar van 360 dae (twaalf 30 dae maande) wat tipies is in rekeningkundige berekeninge.

Skakel dit om na 'n datumformaat en dit moet 1/2/2014 wees, dit is vier maande (of -4) voor die datum in A3.

In hierdie voorbeeld word die EDATE-funksie gebruik om die vervaldatums op banknote te bereken.


Samevatting: Hoe modulêre rekenkunde verband hou met oorblyfsels in afdeling

Die berekening wat ons gaan leer, berus op die verband tussen modulêre rekenkunde en restant in verdeling waaroor ons in die laaste artikel gepraat het. Laat & rsquos dus hierdie belangrike verhouding hersien voordat ons gesels oor hoe om kalenderdatums in dae van die week om te skakel.

Soos u & rsquoll onthou, kan u die waarde van 'n getal modulo 12 vind deur uit te vind hoeveel spasies dit nog sal neem om tot daardie getal te tel nadat u soveel keer as moontlik heeltemal om die klok gegaan het. Byvoorbeeld, ons kan die waarde van die getal 29 in rekenkundige modulus 12 vind deur te besef dat nadat ons twee keer 'n modulusklok en mdash gekyk het, dit wil sê, 2 x 12 = 24 totale spasies en mdashwe steeds nog 5 spasies moet gaan om 29 te bereik (sedert 24 + 5 = 29). Daarom is 29 mod 12 kongruent tot 5.

Die grootste boodskap hierheen is om te besef dat die antwoord van 5 wat u vir 29 mod 12 kry presies dieselfde is as die antwoord wat u kry as u die res in die delingsprobleem 29/12 vind. Dit beteken dat alles wat ons moet doen doen om die waarde van 'n getal modulo te vind. Een of ander modulus is om die restant uit te vind wanneer ons die getal deur die modulus deel. Byvoorbeeld: 10 mod 3 & ekwiv 1 (aangesien 10/3 = 3 res 1), 12 mod 4 & ekw 0 (sedert 12/4 = 3 rest 0), ensovoorts.


Aan kies 'n datum begin lukraak deur die begin- en einddatum (dag, maand en jaar) op te gee van die periode waaruit u 'n ewekansige datum wil kies. Die tydperk is standaard een kalenderjaar vanaf vandag.

Gaan voort deur te kies of u sekere dae van die week van die loting wil uitsluit. Spesifiseer dan in watter formaat u die uitvoer verkies. Uiteindelik druk u op die knoppie "Kies 'n ewekansige datum" om ons sagteware 'n willekeurige datum vir u te laat teken.

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 uniek, 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() method. 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.