如何将日期时间转换为日期日期



我需要将DateTime转换为YYDDD格式的儒略历日期。你是怎么做到的?我看到在。net中有一个JulianCalendar类,但找不到任何如何进行转换的示例。我看过一些链接,但没有一个是有效的。

有什么建议吗?

更新我已经给出了一些日期转换为csv文件,这包括将dateTime转换为我无法更改的格式,显然在银行世界中使用。格式是YYDDD .经过谷歌搜索,它看起来像儒略历。我可能错了。我完全搞不懂这是什么格式

看起来这个格式确实是在大型机世界中被称为朱利安日期…

http://www.google.com/search?sourceid=chrome& ie = UTF-8& q =朱利安+日期+ yyddd

var myDate = DateTime.Now;
string.Format("{0:yy}{1:D3}", myDate, myDate.DayOfYear);

EDIT -要将这样的字符串转换回日期,可以使用如下命令:

DateTime FromBizarreMainframeFormat(string julianDate) {
    // TODO add validation logic, plus rules to cope with pre-2000 dates
    var yy = 2000 + int.Parse(julianDate.SubString(0,2));
    var ddd = int.Parse(julianDate.Substring(2));
    return new DateTime(yy, 1, 1).AddDays(ddd);
}

看起来您要求的值等于(myDate.Year % 100) * 1000 + myDate.DayOfYear。这是一个相当简单的计算。

如果你想要一个带前导零的字符串,那么你可以用(myDate.Year % 100).ToString("D2") + myDate.DayOfYear.ToString("D3")

相关内容

  • 没有找到相关文章

最新更新