当前位置: 首页 > 知识库问答 >
问题:

如何将忽略年份的儒略日转换为儒略日

时仰岳
2023-03-14

如何在visual Basic中将日/月转换为朱利安日?还赞赏用于转换为其他语言的公式。

例如Julian Day feb=032

https://landweb.modaps.eosdis.nasa.gov/browse/calendar.html

从web上的研究来看,大多数决议都是将yyyy-mm-dd的日期转换成儒略日期。

如上面的例子,我需要获得值032

共有3个答案

阳修永
2023-03-14

首先,您必须在VB6下添加对mscorlib库的引用Project-References-&>勾选mscorlib复选框

在你要创建的对象中创建这个函数方法,或者以其他方式创建一个sub过程

Public Function JulianConverter() As String
        'MsgBox Fix(5.2), vbExclamation, App.Title
        'MsgBox Fix(5.6)
        Dim y As String
        Dim m As String
        Dim d As String
        Dim strDate As String
        Dim dateArray() As String


        strDate = Format(Now, "dd/MMM/yyyy")
        dateArray = Split(strDate, "/")
        d = dateArray(0)
        m = dateArray(1)
        y = dateArray(2)
        'Debug
        'MsgBox strDate

        'Convert to Integer
        y = Val(y)
        m = Val(m)
        d = Val(d)

        If m <= 2 Then
            y = y - 1
            m = m + 12
        End If

        'Dim A As Double
       ' Dim B As Double
        'Dim JD As Double

       ' A = CDbl(Fix(y / 100#))

        'B = 2 - A + Fix(A / 4)


        'JD = Fix(365.25 * (y + 4716)) + Fix(30.6001 * (m + 1)) + d + B - 1524.5
        'JulianConverter = CStr(JD) 'Convert to string

        Dim jc As mscorlib.JulianCalendar
Set jc = New mscorlib.JulianCalendar

' create a gregorian equivalent of the julian date: 1 Feb 2018
Dim gregoriaDateEquivalent As Date
gregoriaDateEquivalent = jc.ToDateTime(2018, m, d, 0, 0, 0, 0)
' = #2/14/2018
Dim dayOfYear As Long
Dim dayOfYearS As String
Dim digitLength As Integer
Dim Counter As Integer

dayOfYear = jc.GetDayOfYear(gregoriaDateEquivalent)

'Have to ensure 3 digits values
dayOfYearS = CStr(dayOfYear)

'Count number of Digits of string
digitLength = Len(dayOfYearS)

MsgBox "DigitLength" & digitLength, vbExclamation, App.Title

'If Digits length smaller than 3,add one 0 in front
If (digitLength < 3) Then
dayOfYearS = "0" & dayOfYearS
End If

JulianConverter = dayOfYearS

End Function

这将确保朱利安日将是基于当前系统日期的3位数字

田远
2023-03-14

NET JulianCalendar类公开了实现目标所需的所有方法。它也是COM可见的,因此您可以在向“mscorlib.dll”添加项目引用后在VBA项目中引用它。

在VB.NET中,代码为:

Dim jc As New System.Globalization.JulianCalendar
' create a gregorian equivalent of the julian date: 1 Feb 2018
Dim gregoriaDateEquivalent As DateTime = jc.ToDateTime(2018, 2, 1, 0, 0, 0, 0)
' = #2/14/2018 12:00:00 AM#
Dim dayOfYear As Int32 = jc.GetDayOfYear(gregoriaDateEquivalent)
' = 32

在VBA中,代码为:

Dim jc As mscorlib.JulianCalendar
Set jc = New mscorlib.JulianCalendar

' create a gregorian equivalent of the julian date: 1 Feb 2018
Dim gregoriaDateEquivalent As Date
gregoriaDateEquivalent = jc.ToDateTime(2018, 2, 1, 0, 0, 0, 0)
' = #2/14/2018
Dim dayOfYear As Long
dayOfYear = jc.GetDayOfYear(gregoriaDateEquivalent)
' = 32
鲁靖
2023-03-14

你需要年份,这样你才能知道哪一天是日期。

 类似资料:
  • 问题内容: 我遇到了一种情况,我想将儒略日期转换为一个(如果有意义的话)或一些可以更容易理解的Java时间。我对儒略日期的理解来自阅读Wikipedia页面。有很多不同的变体,而我尝试阅读的日期使用的变体不同于所有这些变体。 例如,假设纪元是1750年《日历(新样式)法》的开始,在这种情况下,我认为儒略日期是 CE 2015年4月15日06:37:26.9 UT ,我如何从中获取时间这个?稍后需要

  • 问题内容: 我进行了广泛的搜索,但是似乎找不到将julian转换为的方法。 这是我的朱利安格式: 朱利安格式由年份,前两位数字和一年中的日期,最后三位数字组成。 例如,是。用表示年份,用表示年份 的第76天。 我已经尝试过了,但是没有用: 问题答案: 您可以使用选择日期的每个部分 +编辑:我误会了一些东西。这是我的更正: +++

  • 问题内容: 我在python中有一个字符串。我需要将其转换为date对象,然后获取 year 以及 Julian day 的整数值。可能吗? 问题答案: 首先,您可以将其转换为这样的对象: 然后,您可以使用上的方法来获取所需的内容……除了没有直接所需的功能之外,因此您需要转换为时间元组 术语“朱利安日”具有几个不同的含义。如果要查找,则必须间接执行此操作,例如,以下一项。 如果您正在寻找不同的含义

  • 我正在尝试用C语言输出日历,我想我已经把格式弄下来了,但我遇到了麻烦: 正在验证用户输入(我已经注释掉了潜在的解决方案,但它还没有正确编译。它总是打印“所选的年/月无效”,并且break语句不起作用。) 在一周的正确日期开始日历日(2018年5月从周二开始,而不是周日) 我目前的输出: 我想要的输出: 这是我的程序:

  • 问题内容: 我正在开发一个使用Spring-boot,关系数据库和Elasticsearch的应用程序。 我在代码的2个不同位置使用JSON序列化: 在REST API的响应中。 当代码与Elasticsearch交互时。 我在Elasticsearch中需要一些属性,但我想向应用程序用户隐藏(例如,来自关系数据库的内部ID)。 这是一个实体的例子: 问题 :当对象持久化在Elasticsearc

  • 问题内容: 我正在编写一个Java程序来读取XML文件,实际上是一个iTunes库,它是XML plist格式。我设法解决了这种格式引发的大多数障碍,除非遇到包含的文本。XLM文件将“与”号表示为,并且我只能设法在文本的任何特定部分之后读取文本。 有没有办法禁用转义码检测?我正在使用SAXParser。 问题答案: 您尝试执行的操作有些混乱。 如果您尝试解析的文件格式包含“&” 字符,则它 不是

  • 问题内容: 我正在尝试为api 编写Web服务。因此,我编写了一个MyLogRecord类,该类继承自LogRecord。我用JAX- B注释对此类进行了注释,包括,因此它将忽略未注释的字段和属性。当我启动tomcat时,出现错误,并且其他类没有默认的构造函数,但是没有带注释的方法对Level类或任何其他类进行任何引用。这些由父类引用。 我的子类具有需要定义的所有内容。如何使JAX-B完全忽略父类

  • 尝试在添加根节点的同时,尽可能简单地将CSV文件转换为JSON文件。出于某种原因,JSON文件至少省略了CSV文件末尾的最后一行(在某些情况下多达4行)。这是怎么回事? 示例CSV 期望JSON 我得到的是: 我的代码: 另外,我知道我在JSON文件的最后一行添加了一个逗号——我也想知道除了最后一行之外如何添加逗号,但这并不重要。