問題タブ [julian-date]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
10846 参照

java - 01/01/0001 の日付を月曜日とするのは正しいですか?

指定された日付の日を表示するプログラムを作成しています。(例: 1970 年 1 月 1 日は木曜日)。

これが私のプログラムです。

このコードでは、01/01/0001 を月曜日として、他の日を計算します。そして、私は正しい答えを得ています。

しかし、 www.timeanddate.comの Web サイトでは、0001 年 1 月 1 日が土曜日でした。しかし、他の最近の日付 (たとえば 2011 年 7 月 17 日) については、正しい答え (日曜日など) が返されています。

これらのラグは、ジュリア システムからグレゴリオ システムへの移行によるものと推測できます。

しかし、0001 年からの日数を計算する私のアプローチが正しいかどうかは疑問です。

また、01/01/0001 の日付を月曜日と土曜日のどちらにするかについても疑問があります。(土曜日を初日としたら、間違った答えが返ってきます。)

誰か説明してください。

前もって感謝します。

0 投票する
1 に答える
3738 参照

datetime - XSLの日付と時刻の差の計算(XSLT 1.0)

XSLT 1.0を使用し、次の形式で日付を受け取ります。

そして、私はそれらの2つの間の差を計算できる必要があります。ただし、拡張機能は使用できません

他にも制限があります。

  • XSLT内で使用できる名前空間に制限があります。
  • また、xslスタイルシート(サードパーティアプリケーション)を使用している場合、xsl内のインクルード/インポートアクションを適切に処理しません。

したがって、実際には、使用する必要のあるxsltは、呼び出されたり参照されたりするものはすべてxslt自体に含まれている必要があるという点で、ほぼ自己完結型である必要があります。

私は、日付と時刻を取得してジュリアンのシリアル番号に変換し、Excelと同じように日付の計算を処理することを考えていました。例 -

ここで、小数点の左側はすべて日数で、小数点の右側はすべて時間どおりです(つまり、.168854166666280 * 24 = 4.0524999999990680、つまり4時間と.0525パーセントの時間、つまり3.15分)。

誰かが拡張機能を使用せずにXSLT1.0でこのタイプの経過日時の計算を行ったことがありますか?

再利用できる既存のコードセットがある場合は、考え、提案、または参照をいただければ幸いです。

編集 -

私は上記を続行することを決定し、TIMEの変換に問題が発生しました。

私が使用している例は次のとおりです。開始時間=08:19:37終了時間=15:58:33

これは7:38:56の期間/差です(ところで、これは当日の計算専用です-Endtime <Start Timeの場合、またはDayが> 0の場合、エラーをスローする必要があります)。

その時間に到達するために、私はすべてを秒に変換してから計算を行います。08:19:37は29977に変換されます(時間の場合は8 * 3600+分+秒の場合は19* 60)。15:58:33は57513に変換されます(15*3600時間+58* 60分+秒)。

差は27536秒です。

私は次のようになります:27536/3600 = 7.6488888888888888888 <-整数部分は時間であり、27536の差-25200 = 2336 <-25200=7時間*3600秒2336/60=38.93333333333333333<-整数部分は38分です次に、2336〜2280の差=上から56秒。

ただし、これらの数値の整数部分を取得しようとすると、丸めの対象になります。

上記の変数qには7.648888888888888888(これは正しい)がありますが、format-numberが発生した後のt-hrs-diffには「08」が含まれているため、時間が正しくありません。

数値の整数部分を取得しようとする他のフォーマットの試みは、丸めをもたらすことを私は知っています。

substring-beforesubstring-afterの外で-次の計算で使用する前に結果を数値に変換する必要があります-数値の変更されていない整数部分を取得する他の方法はありますか?ピースを使用するには、文字列から数値に変換する必要がありますか?

0 投票する
3 に答える
578 参照

c++ - c++ グレゴリオ暦とユリウス暦の継承

グレゴリオ暦とユリウス暦の異なるタイプの継承から選択する必要があるというジレンマがあります。Date という名前の 1 つのクラスを基本クラスとして使用したいと考えています。私の質問は次のとおりです。日付クラスと同じことを行うジュリアンから継承するグレゴリオ暦のクラスが必要ですか? それとも、グレゴリオ暦のクラスだけが日付から継承し、ジュリアンはグレゴリオ暦から継承する必要がありますか、またはその逆ですか? または、Date を継承する Date の下にクラスを作成し、Gregorian と Julian をそのクラスから継承させる必要がありますか?

個人的には、両方が日付から継承する最初の選択肢を選択しますが、これは良い選択です。これについて意見をいただけますか?

0 投票する
2 に答える
6267 参照

sqlite - SQLiteのISO8601文字列へのユリウス日

SQLiteにユリウス日として日付/時刻の値を格納するテーブルがあります(julianday()関数を使用)。それらを読んだときに、ISO 8601スタイルの文字列(YYYY-mm-ddThh:m:ss.sss)に戻す方法がわからないようです。

0 投票する
2 に答える
8891 参照

bash - UNIXでJulianタイムスタンプを通常の時間に変換する

Bashを使用してUNIXでJulianタイムスタンプを通常のタイムスタンプに変換する必要があります。

タンデムOSでは、変換は非常に簡単です-

例:212186319010244541

UNIX環境でも同じことをしたいと思います。変換はパーサースクリプトの一部になります。したがって、ワンライナーをいただければ幸いです。

更新

タンデムのINTERPRETTIMESTAMP組み込み関数は、ユリウス日番号、年、月、日、時、分、秒、ミリ秒、およびマイクロ秒で構成される9つの数値のスペース区切りのリストを返します。

0 投票する
1 に答える
932 参照

algorithm - カレンダー変換ライブラリがユリウス日を中心に展開するのはなぜですか?

現在、日付をグレゴリオ暦からヘブライ暦に変換する PHP コードをいくつか書いています。PHPのカレンダー関数を見てみると、グレゴリオ暦からユリウス暦へ、ユリウス暦からヘブライ暦へ変換する機能があることがわかりました。ただし、グレゴリオ語からヘブライ語に直接変換する関数は見つかりませんでした。

好奇心から、直接変換が可能かどうかを確認したかった. ただし、これを調査しているときに、日付をユリウス日に変換してから、目的の暦体系に変換するのが標準のように思われることがわかりました。

私はこれを次のようないくつかのライブラリで見つけました: http://www.php.net/manual/en/ref.calendar.php http://www.fourmilab.ch/documents/calendar/calendar.js

フォーラムの投稿で言及されています: http://www.physicsforums.com/showthread.php?t=173119

私を悩ませているのはなぜですか!どこかの団体が決めた基準ですか?歴史的にこのように行われているだけですか?

日付を直接変換するアルゴリズムを考え出す方が効率的ではないでしょうか? または逆に、ユリウス日が非常に効率的である理由は何ですか?

0 投票する
5 に答える
37192 参照

sql - JDE ユリウス日からグレゴリオ暦への変換

私はJDE の日付を変換しようとしていますが、大量の情報を収集して、いくつかのタスクを簡素化するために SQL 変換関数を実行しようと考えました。

これが私が思いついた関数で、単に「ToGregorian」と呼んでいます

  1. 「ジュリアン」文字列を取ります。
  2. 最初の文字を取り、19 から始まる世紀に追加します。
  3. 次の 2 文字から 10 年と年を追加します。
  4. 最後に、最後の 3 文字である日を追加し、最初のセットアップですでに 1 日あったため、1 を減算します。(例: 2011-01-01)
  5. 結果の例: 111186=>2011-07-05 00:00:00.000

私の意見では、これは少し不器用でやり過ぎです。これを行うためのより良い方法があることを願っています。おそらく私はあまりにも多くの変換を行っていますか、それとも別の方法を一緒に使用する必要がありますか?

機能を改善するためのアドバイスはありますか?
おそらく、別のより良い方法でしょうか?
もっと読みやすくなっても構いません...

インライン バージョンもあります。たとえば、読み取り権限しかなく、関数を使用できない場合、これも乱雑に見えますが、より読みやすく、またはより良くすることは可能ですか?

0 投票する
2 に答える
487 参照

math - 夏時間の計算

この式を使用して日照時間を計算しようとしているこの式の数値を取得するのに問題があります。この式を評価すると、最終的に NaN が返されます。

J はユリウス日を表します。(たとえば、今日の J = 172;)

どんな助けも非常に価値があります、ありがとう

0 投票する
1 に答える
2399 参照

vb.net - VBでのユリウス日変換

ユリウス日を適切な日時形式に変換する必要がありますdd/mm / yyyy HH:MM:SS

問題は、それらが特定の日付からのユリウス日であるということのようです。標準の1970を想定していますか?以下は私のコードです:

働き:

呼び出し(今のところ値をハードコーディングしました):

これにより、「1970年5月21日午後5時2分」という値が得られます。

データは2011年のものであることがわかっているので、今年はオフになっているようです。誰かが私を案内してくれますか?

0 投票する
1 に答える
8077 参照

sql - ユリウス日形式とは

入力した数値を単語形式に変換する SQL のクエリを実行しました。クエリは次のとおりです。

通常、ユリウス日付形式は、ユリウス日付に追加された日数を31-DEC-4712 示します。つまり、すべての数値を単語に変換する方法を理解できません。

それが実際に何をするのかを理解するのを手伝ってください...