【问题标题】:Julian day with this format : AAAJJJ这种格式的儒略日:AAAJJJ
【发布时间】:2025-12-09 01:10:01
【问题描述】:

我有这个日期: 2007 年 9 月 28 日。

我需要这个输出:007271

我正在使用此代码:

<?php 
  $julianDate = gregoriantojd(9, 28, 2007); 

  $dayfrac = date('G') / 24 - .5; 
  if ($dayfrac < 0) $dayfrac += 1; 

  $frac = $dayfrac + (date('i') + date('s') / 60) / 60 / 24; 

  $julianDate = $julianDate + $frac; 
  echo($julianDate); 
?>

我目前的输出:2454372.81824

我在谷歌上搜索,我找到了这个网站:

http://pgj.pagesperso-orange.fr/Calendrier_conversion.htm

当我用我的日期尝试他的工具时,输出是:

“朱利安日报:2454371.5” AND“Jour : 271 Année : 2007”

我怎样才能完成这项任务?我不知道如何找到天数,所以我可以将它与年份连接起来:AAA。杰杰

非常感谢。

【问题讨论】:

  • date('z', $mydate) 可能会有所帮助
  • 注意儒略日是从公元前 4713 年 1 月 1 日中午开始的天数;所以你所追求的实际上并不是朱利安日
  • 我找到了答案...... 9 月 28 日是从 1 月 1 日开始的第 271 天......谢谢......您的评论 Mark Ba​​ker,它帮助我解决了这个问题! :)
  • what 表示 A 和 J。正常 A 表示 AM 或 PM

标签: php converter schedule julian-date georgian


【解决方案1】:

9 月 28 日是从 1 月 1 日开始算起的 271 天 ...

【讨论】:

  • $dayNumber = date("z") + 1; $year = substr(date("Y"),1,4); $myanswer = $year.$dayNumber;
【解决方案2】:

这可以帮助您识别

<?php 

$date = strtotime('28 september 2007');

$date1 = strtotime('01 january 2007');

//this may helps
echo round(($date - $date1)/(60*60*24));

?>

【讨论】:

  • 复杂且不必要的