paint-brush
Силсилаи маълумотҳои вақт: Идомаи боқимондаи ҳикояаз ҷониби@leonadato
338 хониш
338 хониш

Силсилаи маълумотҳои вақт: Идомаи боқимондаи ҳикоя

аз ҷониби Leon Adato7m2024/10/08
Read on Terminal Reader

Хеле дароз; Хондан

Дар мақолаи охирини блог, ман фаҳмонидам, ки чӣ гуна насб кардан ва оғоз кардани китобхонаи PHP Zmanim. Дар оянда, ман ба ҳисоб кардани вақтҳои мураккабтар ва қудрати воқеии асбоб - татбиқи ақидаҳои маъмултарини Раббиниро барои зманимҳои гуногун кофтам. Ман аз он ҷое, ки ман бо такрори ҳадди аққал монда будам, идома медиҳам, аз ин рӯ, агар ба шумо лозим ояд, ки барои суръат гирифтани суръат як дақиқа вақт ҷудо кунед, паёмҳои қаблӣ пайваст карда мешаванд.
featured image - Силсилаи маълумотҳои вақт: Идомаи боқимондаи ҳикоя
Leon Adato HackerNoon profile picture

Муддате аст, ки ман дар бораи PHP Zmanim навиштам - корҳое, ки ман бо он анҷом додаам ва чизҳое, ки ҳангоми татбиқи он омӯхтам. Аммо бо вуҷуди таъхир, ман ҳамеша ният доштам, ки сӯҳбатро идома диҳам. Мо имруз хамин тавр кор карда истодаем.


Дараввалин паёми худ ман фаҳмонидам, ки чӣ гуна насб кардан ва оғоз кардани китобхонаи PHP Zmanim. Сипас, дар мақолаи навбатӣ , ман дар бораи ҳисоб кардани вақтҳои мураккабтар ва қудрати воқеии асбоб - татбиқи ақидаҳои маъмултарини Раббиниро барои зманимҳои гуногун кофтам. Ман аз он ҷое, ки мондаам, бо такрори ҳадди аққал идома медиҳам, аз ин рӯ, агар ба шумо лозим ояд, ки барои суръат гирифтани суръат як дақиқа вақт ҷудо кунед, ман ба он паёмҳои қаблӣ пайваст шудаам.


Ҳадафи имрӯз ин омӯхтани истифодаи PHP Zmanim мебошад, ки аз доираи истифодаи нисбатан оддии китобхона берун мераванд. Ин дар бар мегирад:

  • Андешидани вақти стандартӣ ва танзими он барои ҳолатҳои истифодаи махсуси синагога ("Минча ҳар рӯз 25 дақиқа пеш аз Шкия оғоз мешавад").


  • Истифодаи функсияҳо ва усулҳои китобхонаи PHP Zmanim, ки ҳисобҳои бевақтро таъмин мекунанд, ба монанди Қисмати ҳарҳафтаинаи Таврот, санаи ибронӣ ва оё санаи муайян рӯзи ид аст (ба монанди Рош Чодеш ё Суккот).

Ташаккур

Бори дигар бояд бо изҳори миннатдории ман ба одамоне, ки ин ҳамаро имконпазир кардаанд, оғоз кунам. Пеш аз ҳама, дар байни рӯйхати тӯлонии номҳо Захари Вайкселбаум, роҳбари худи китобхонаи PHP Zmanim ва Элияху Ҳершфелд: созандаи китобхонаи Java Kosher Java , ки PHP Zmanim ба он асос ёфтааст.

Бозсозии зуд

Вақте ки мо тарк кардем, мо як скрипти асосии PHP доштем, ки:

  • Тағирёбандаҳоро барои макон (дар арз/ тулӣ) дар баробари минтақаи вақт ва баландӣ муқаррар мекунад.
  • Сана таъин мекунад
  • аз ин тағирёбандаҳо объекти zmanim PHP эҷод мекунад
  • усулҳои дарунсохтро барои ҳисоб кардани вақти ҳама чиз аз тулӯи офтоб то минча то тзеит хакочавим истифода мебарад


Чунин менамуд:

 <?php require 'vendor/autoload.php'; use PhpZmanim\Zmanim; use PhpZmanim\Calendar\ComplexZmanimCalendar; use PhpZmanim\Geo\GeoLocation; # Set variables: $locname = "Beit Knesset Chochmat Shlomo, Beachwood, OH"; $lat = 41.4939407; $long = -81.516709; $elev = 0; $tz = 'America/New_York'; $getyear = 2024; $getday = 20; $getmonth = 12; $testzmanim = Zmanim::create($getyear, $getmonth, $getday, $locname, $lat, $long, $elev, $tz); $sunrise = $testzmanim->sunrise; echo "$sunrise\n"; ?>


Аммо тулӯи офтоб танҳо ибтидо аст. Бо истифода аз ҳама гуна ҳисобҳои дарунсохт (ки дар саҳифаи Readme GitHub тавсиф шудааст), шумо метавонед вақтҳои гуногунро кашед. Масалан, барои он ки Минча Гедола андешаи мушаххаси раввиниро истифода барад, ман метавонам дохил кунам:

 $gedolah = $zmanim->minchaGedola16Point1Degrees


Дар блоги охирин, ман инчунин роҳҳои истифодаи усули формати PHP Zmanim-ро барои хондан бештар хондани натиҷа гирифтам:

 $gedolah = $gedolah->format('g:i a');

"Намак ба бичашед" - Муқаррар кардани вақт

Барои онҳое, ки дар синагога вақти зиёдро сарф намекунанд (айб нест, шарм нест, шумо ҳоло ҳам дар ин ҷо хуш омадед) шояд аён набошад, аммо - сарфи назар аз номи зман - шумораи ками созмонҳо Минча (нимрӯз) намоз мегузоранд. дуоҳо) дар Минча Кетана, Минча Гедола ё Плаг хаМинча.


Дарвоқеъ, бисёре аз корҳо оид ба ҳисоб кардани вақтҳо ба рости "Минча Гедола чанд аст?" ва бештар бо «Чӣ қадар дер дар рӯз мо метавонем оқилона ба нақша Минча, то ки ҳама вақт барои расидан ба ин ҷо пас аз кор; аммо он қадар дер нашудааст, ки касе намеояд, зеро онҳо хӯроки шомро пазмон мешаванд?


Агар ин хеле назариявӣ бошад, ба ман иҷозат диҳед, ки муаммои мантиқии ҷенгаро, ки синагогаи ман ҳангоми муқаррар кардани ҷадвали ҳафтаина баррасӣ мекунад, мубодила кунам:

  • Равшании шамъ шаби ҷумъа: Шкиа (ғуруби офтоб) минуси 18 дақиқа
  • Тобистон Ҷумъа Минча: Plag haMincha (бо истифода аз "plagHaminchaAteretTorah") минуси 20 дақиқа
  • Зимистон Ҷумъа Минча: Шкиа (ғуруби офтоб) минуси 22 дақиқа
  • Шанбе Минча: Шкиа минуси 40 дақиқа
  • Шанбе Maariv: Shkia плюс 50 дақиқа
  • Охири рӯзи шанбе: Шкиа плюс 45 дақиқа
  • Минча рӯзи ҳафта: шкияи аввалини ҳафтаро пайдо кунед, пас 17 дақиқаро тарҳ кунед


Дар ҳоле ки ҳама вақтҳои дигар, ки ман дар блогҳои қаблӣ фаро гирифта будам, ҳанӯз ҳам муҳим аст, умедворам, ки шумо дарк мекунед, ки онҳо назар ба интизори он камтар аҳамият доранд.


Пас, чӣ гуна шумо вақт ҷудо мекунед (ба монанди shkia / ғуруби офтоб) ва сипас дақиқаҳоро илова ё тарҳ кунед? Мо бо ҳамон скрипте, ки қаблан доштем, оғоз мекунем:

 <?php require 'vendor/autoload.php'; use PhpZmanim\Zmanim; use PhpZmanim\Calendar\ComplexZmanimCalendar; use PhpZmanim\Geo\GeoLocation; # Set variables: $locname = "Beit Knesset Chochmat Shlomo, Beachwood, OH"; $lat = 41.4939407; $long = -81.516709; $elev = 0; $tz = 'America/New_York'; $getyear = 2024; $getday = 20; $getmonth = 12; $testzmanim = Zmanim::create($getyear, $getmonth, $getday, $locname, $lat, $long, $elev, $tz);


Ба ин, мо барои ғуруби офтоб код илова мекунем:

 $sunset = $zmanim->sunset;


Ва он гоҳ, мо барои гирифтани вақти равшании шамъ 18 дақиқаро хориҷ мекунем:

 $candles = date('g:i a', strtotime($sunset . " -18 minutes"));


Ин дуруст аст. Шумо танҳо функсияи худи PHP-ро истифода мебаред. Бубахшед, агар шуморо дар шубҳа нигоҳ дошта бошам. Аммо ин дар ҳақиқат ин қадар осон аст.

Қисми Таврот чист? Санаи ибронӣ чист? Рош Чодеш кай аст?

(...ва дигар саволҳои муҳим, вале ташвишовар аксар вақт дар синагогаи шумо ва атрофи он дода мешаванд.)


Дар баробари ҳисобҳои сана, китобхонаи KosherJava (ва аз ин рӯ китобхонаи PHP Zmanim) дорои усулҳо ва вазифаҳое мебошад, ки ба зудӣ маълумот пешниҳод мекунанд, ба монанди онҳое, ки дар боло оварда шудаанд.


Аввалин чизе, ки бояд фаҳмад, ин аст, ки объекти PHP Zmanim, ки мо то ҳол бо он кор мекардем, объекти Zmanim буд - объекте, ки маҷмӯи вақтҳои мушаххас барои санаи мушаххас дорад. Барои чизҳое, ки худи санаҳоро дар бар мегиранд, мо объекти jewishCalendar-ро эҷод мекунем. Хабари хуш ин аст, ки эҷод кардани он Хеле осонтар аст. Ба шумо танҳо сол, моҳ ва рӯз лозим аст.

 <?php require 'vendor/autoload.php'; use PhpZmanim\Zmanim; use PhpZmanim\Calendar\ComplexZmanimCalendar; use PhpZmanim\Geo\GeoLocation; # Set variables: $getyear = 2024; $getday = 21; $getmonth = 09; $jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($getyear, $getmonth, $getday));


Мо ҳоло як объекти jewishCalendar дорем, ки бо он кор кунем ва метавонем усулҳои шабеҳеро, ки дар тӯли вақтҳо пайдо кардем, истифода барем. Масалан: Фарз кардем, ки санаи интихобкардаи мо рӯзи шанбе буд, мо метавонем қисми Тавротро гирем:

 $format = Zmanim::format(); $parshaeng = json_decode('"' . $format->formatParsha($jewishCalendar) . '"');


(Ҳоло ба танзимоти $format беэътиноӣ кунед. Мо онро пас аз каме кобед).


Агар шумо ин кодро иҷро карда бошед, $parshaeng ба шумо медиҳад:

 Parshas Ki Savo


Шумо хоҳед дид, ки ба мо лозим набуд, ки арз, тулӣ, минтақаи вақт ва ғайраро пешниҳод кунем. Ман ба қадри кофӣ таъкид карда наметавонам, ки танҳо ин қобилият - қобилияти гирифтани санаҳо, қисмҳои Таврот ва ғайра - китобхонаи PHP Zmanim-ро дар ҳама ҷо муфид мегардонад. худ, ҳатто бидуни ҳисобҳои вақт.

Оё ман метавонам онро ба забони ибронӣ гирам?

Қисми Таврот? Албатта! Дар ин ҷо хати формати $ ворид мешавад.


Аввалан, шарҳи он чӣ аст: Ин усулест, ки объектҳоро ба монанди Zmanim ва jewishCalendar тағир медиҳад, имконоти намоиш ва баромадро муқаррар мекунад. Танзими Zmanim::format() бе ягон маълумоти дигар ба забони англисӣ пешфарз аст. Аммо пас шумо метавонед бо ин хати иловагӣ ба системае, ки мехоҳед забони ибрӣ дошта бошед, бигӯед:

 $format->setHebrewFormat(true)


Ҳоло, агар шумо ҳамон сатри json_decode('”' . $format->formatParsha($jewishCalendar) . '”')-ро иҷро кунед, шумо хоҳед гирифт:

 כי תבוא


Ҳама чизро якҷоя кардан:

 <?php require 'vendor/autoload.php'; use PhpZmanim\Zmanim; use PhpZmanim\Calendar\ComplexZmanimCalendar; use PhpZmanim\Geo\GeoLocation; # Set variables: $getyear = 2024; $getday = 21; $getmonth = 09; $jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($getyear, $getmonth, $getday)); $format = Zmanim::format(); $parshaeng = json_decode('"' . $format->formatParsha($jewishCalendar) . '"'); $format->setHebrewFormat(true); $parshaheb = json_decode('"' . $format->formatParsha($jewishCalendar) . '"'); echo "$parshaheb - $parshaeng\n";


Ин нишон медиҳад: כי תבוא – Ки Саво

Кадом рӯз аст?

Аниқтараш, кадом рӯзи Ибриён аст?


Мисли мисоли қаблӣ, мо бо jewishCalendar ва объекти формат оғоз мекунем.

 $jewishCalendar = Zmanim::jewishCalendar(Carbon::createFromDate($theyear, $themonth, $theday)); $format = Zmanim::format();


Сипас, мо ҳамон сатрро илова мекунем, то форматро ба забони ибронӣ муқаррар кунем.

 $format->setHebrewFormat(true);


Ва дар ниҳоят (ва хеле содда), мо баромади мустақими объекти тақвимро талаб мекунем:

 $zmandate = json_decode('"' . $format->format($jewishCalendar) . '"');


Ин аслан ҳама чизест, ки ба шумо лозим аст. Натиҷа чунин аст:

 17 Elul, 5784


Бале, гарчанде ки мо setHebrewFormat-ро муайян кардем, он ба забони англисӣ баромад.

Оё ман метавонам онро бо забони ибрӣ ACTUAL гирам?

Барои он ки санаи ибрӣ пурра ба забони ибронӣ нишон дода шавад - ҳам калимаҳо ва ҳам ҳарфҳо - мо усули каме дигарро истифода мебарем, ки мувофиқи он HebrewDateFormatter ном дорад. Фарз мекунем, ки шумо тағирёбандаҳои ибтидоии худро насб кардаед ва объекти jewishCalendar эҷод мекунед, код барои баровардани санаи забони ибрӣ чунин хоҳад буд:

 $hebformat = HebrewDateFormatter::create(); $hebformat->setHebrewFormat(true); $hebdate = json_decode('"' . $hebformat->format($jewishCalendar) . '"'); print("Hebrew date: $hebdate\n");


Ки ба шумо медиҳад:

 Hebrew date: י״ח אלול תשפ״ד

Оё имрӯз рӯз аст?

Баъзан, шумо бояд тафтиш кунед, ки санаи мушаххас ... хуб, рӯзи мушаххас аст. Мисли Рош Чодеш (моҳи нав) ё як қисми ҷашни бисёррӯза (ба монанди Суккот).


Маълум мешавад, ки усули PHP Zmanim инро хеле содда мекунад. Фарз мекунем, ки шумо ба мисли мисолҳои дигар оғоз кардаед,

вақте ки шумо объекти jewishCalendar-ро насб кардаед, он хеле содда аст

 $jewishCalendar->isRoshHashana(); $jewishCalendar->isSuccos();


Агар сана ба ид мувофиқат кунад, он "ҳақиқӣ" бармегардад ва шумо метавонед бо ҳар мантиқ ё раванде, ки мехоҳед, ба мисли намоиши сана (ё не) идома диҳед.

Пас, оянда чӣ аст?

Ба он бовар кунед ё не, боз барои пӯшонидани он чизи дигар вуҷуд дорад. Дар ҳафтаҳои оянда, вақте ки ман ба он мерасам, мехоҳам роҳҳои истифодаи функсияҳои астрономияи дарунсохтро барои ҳисобҳои вақт фаро гирам. Ба он бовар кунед ё не, он метавонад воқеан аз нуқтаи назари доштани вақтҳои дақиқ барои чизҳое, ба монанди оғоз ва анҷоми шанбе ва идҳо ва дар баробари дигар маросимҳо муҳим бошад.


Дар ҳамин ҳол, агар чизи дигаре вуҷуд дошта бошад, шумо мехоҳед, ки маро пӯшонед; ё агар шумо саволҳо, ислоҳҳо ё сипосҳо дошта бошед, озодона онҳоро дар шарҳҳои зер гузоред.

L O A D I N G
. . . comments & more!

About Author

Leon Adato HackerNoon profile picture
Leon Adato@leonadato
Leon has been a speaker and blogger in the monitoring and observability space for almost a decade.

ТЕГИ овезон кунед

ИН МАКОЛА ДАР...