Форум программистов, компьютерный форум, киберфорум
Ruby
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 28.06.2019
Сообщений: 15
1

Перевести код с Ruby на PHP

21.06.2020, 15:24. Показов 1060. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день
Нужна помощь в переводе кода с Ruby на PHP
Ruby
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/ruby
 
=begin
Equation of Time calculation
    *** No guarantees are implied. Use at your own risk ***
 
    Written by E. Sevastyanov, 2017-05-14
 
    Based on "Equation of time" WikiPedia article as of 2016-11-28
    (which describes angles in a bewildering mixture of degrees and radians)
    and
    Del Smith, 2016-11-29
 
    It appears to give a good result, but I make no claims for accuracy.
=end
 
pi = (Math::PI) # pi
delta = (Time.now.getutc.yday - 1) # (Текущий день года - 1)
 
yy = Time.now.getutc.year
np = case yy #The number np is the number of days from 1 January to the date of the Earth's perihelion. (http://www.astropixels.com/ephemeris/perap2001.html)
when 2017 ; 3
when 2018 ; 2
when 2019 ; 2
when 2020 ; 4
when 2021 ; 1
when 2022 ; 3
when 2023 ; 3
when 2024 ; 2
when 2025 ; 3
when 2026 ; 2
when 2027 ; 2
when 2028 ; 4
when 2029 ; 1
when 2030 ; 2 
else; 2
end 
 
a = Time.now.getutc.to_a; delta = delta + a[2].to_f / 24 + a[1].to_f / 60 / 24 # Поправка на дробную часть дня
 
lambda = 23.4406 * pi / 180; # Earth's inclination in radians
omega = 2 * pi / 365.2564 # angular velocity of annual revolution (radians/day)
alpha = omega * ((delta + 10) % 365) # angle in (mean) circular orbit, solar year starts 21. Dec
beta = alpha + 0.03340560188317 * Math.sin(omega * ((delta - np) % 365)) # angle in elliptical orbit, from perigee  (radians)
gamma = (alpha - Math.atan(Math.tan(beta) / Math.cos(lambda))) / pi # angular correction
eot = (43200 * (gamma - gamma.round)) # equation of time in seconds
puts "EOT =" + (-1 * eot).to_s + " секунд"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2020, 15:24
Ответы с готовыми решениями:

Joomla, RUBY, RUBY on rails, php....
Здравстуйте. Я хотел бы спросить вашего совета. Хочется сделать интернет магазин. Подскажите что...

Перевести код с php на с++
Язык не понимаю совершенно, а перевод очень нужен. Помогите пожалуйстаю function...

Перевести код с C# на php
Помогите пожалуйста, кто может написать этот код на php ? using System; using...

Перевести код из JS в PHP
Нужно, чтоб вообще без скрипта остался. Либо пхп, чтоб скрипт запрашивала. Если такое делается...

2
3 / 2 / 1
Регистрация: 04.06.2019
Сообщений: 14
06.07.2020, 14:08 2
Попробуй вот так.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?php
date_default_timezone_set('UTC');
echo date("Y-m-d H:i:s");
$pi = pi();
$delta = (float) date("z");
$yy = date('Y');
switch ($yy) {
    case '2017':
        $np = 3;
        break;
    case '2018':
        $np = 2;
        break;
    case '2019':
        $np = 2;
        break;
    case '2020':
        $np = 4;
        break;
    case '2021':
        $np = 1;
        break;
    case '2022':
        $np = 3;
        break;
    case '2023':
        $np = 3;
        break;
    case '2024':
        $np = 2;
        break;
    case '2025':
        $np = 3;
        break;
    case '2026':
        $np = 2;
        break;
    case '2027':
        $np = 2;
        break;
    case '2028':
        $np = 4;
        break;
    case '2029':
        $np = 1;
        break;
    case '2030':
        $np = 2;
        break;
    default:
        $np = 2; 
}
 
$delta = $delta + (float)date('h')/24 + (float)date('i')/60/24;
$lambda = 23.4406 * $pi / 180;
$omega = 2 * $pi / 365.2564; 
$alpha = $omega * (($delta + 10) % 365);
$beta = $alpha + 0.03340560188317 * sin($omega * (($delta - $np) % 365));
$gamma = ($alpha - atan(tan($beta) / cos($lambda))) / $pi;
$eot = (43200 * ($gamma - round($gamma)));
echo "EOT =".(-1 * $eot)." секунд";
?>
1
0 / 0 / 0
Регистрация: 28.06.2019
Сообщений: 15
06.07.2020, 14:37  [ТС] 3
Спасибо
0
06.07.2020, 14:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2020, 14:37
Помогаю со студенческими работами здесь

Перевести код с php на C#
Тут генерация всех чисел с 1 до 49 шесть раз с выводом потраченного времени. Нужно так же но на C#,...

Перевести код на php
Здравствуйте! В общем надо перевести код с С в котором я не о чем, в пхп в котором немного понимаю...

Перевести код из JS в PHP
Все привет! Возникла необходимость перевести некоторый кусок кода в php из js. Остается одна строка...

Перевести код из JS в php?
вот данный скрипт &lt;a href=&quot;/&quot; onClick=&quot;Albums.Delete({aid}, {hash}); return false&quot;&gt;&lt;div...

Перевести код JavaScript на PHP
www-cs-students.stanford.edu/~tjw/jsbn/rsa.html Помогите плиз делать этот Javascript на PHP чтоб...

Перевести код из PHP в JavaScript
Имеется следующий код PHP &lt;?php $file=@file('http://domen.ru/Т.txt'); foreach ($file as $key =&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru