6
A
回答
17
请尝试以下方法从character
类(即文本)转换为POSIXlt
类,然后提取儒略日(yday
):
tmp <- as.POSIXlt("16Jun10", format = "%d%b%y")
tmp$yday
# [1] 166
更多细节功能设置:
?POSIXlt
?DateTimeClasses
另一个选项是使用Date
类,然后使用format
来提取朱连安日(请注意,此类定义的朱利安天数介于1:366之间,而POSIXlt为0:365):
tmp <- as.Date("16Jun10", format = "%d%b%y")
format(tmp, "%j")
# [1] "167"
14
同理:
require(lubridate)
x = as.Date('2010-06-10')
yday(x)
[1] 161
另外请注意,使用lubridate:
> dmy('16Jun10')
[1] "2010-06-16 UTC"
+0
你能帮我在2012/06/09(yyyy/mm/dd)上得到像112161这样的儒略日期吗? – emeralddove
2
my.data = read.table(text = "
OBS MONTH1 DAY1 YEAR1
1 3 1 2012
2 3 31 2012
3 4 1 2012
4 4 30 2012
5 5 1 2012
6 5 31 2012
7 6 1 2012
8 6 30 2012
9 7 1 2012
10 7 31 2012
", header = TRUE, stringsAsFactors = FALSE)
my.data$MY.DATE1 <- do.call(paste, list(my.data$MONTH1, my.data$DAY1, my.data$YEAR1))
my.data$MY.DATE1 <- as.Date(my.data$MY.DATE1, format=c("%m %d %Y"))
my.data$my.julian.date <- as.numeric(format(my.data$MY.DATE1, "%j"))
my.data
回报,这在技术上是不正确,因为朱利安日期不返回1,第一天每个1月份:
低于3210个
的日期顺序日期:
OBS MONTH1 DAY1 YEAR1 MY.DATE1 my.julian.date
1 1 3 1 2012 2012-03-01 61
2 2 3 31 2012 2012-03-31 91
3 3 4 1 2012 2012-04-01 92
4 4 4 30 2012 2012-04-30 121
5 5 5 1 2012 2012-05-01 122
6 6 5 31 2012 2012-05-31 152
7 7 6 1 2012 2012-06-01 153
8 8 6 30 2012 2012-06-30 182
9 9 7 1 2012 2012-07-01 183
10 10 7 31 2012 2012-07-31 213
2
均可以使用的insol
包具有JD(x, inverse=FALSE)
函数转换POSIXct朱利安天数(JDN)。
insol
包也有JDymd(year,month,day,hour=12,minute=0,sec=0)
自定义日期。
要显示整个儒略日期(JD),您可能必须设置options(digits=16)
。
相关问题
- 1. excel如何将儒略日期转换为日历日期?
- 2. ASP.NET从当前日期起儒略日
- 3. 儒略日()和strftime()两个日期
- 4. 将日期转换为MongoDB ISO日期
- 5. 将日期转换为日期串行
- 6. 将MySQL日期转换为Java日期
- 7. 将linq日期转换为短日期
- 8. 将UTC日期秒转换为日期
- 9. PHP - 将日期转换为UTC日期
- 10. 将SQL日期转换为SAS日期
- 11. 将日期数转换为日期
- 12. R将日期转换为循环中的Julian日期
- 13. 如何将sqlite日期转换为R中的日期
- 14. 将日期范围转换为R中的日期类型
- 15. 将非标准日期格式转换为R中的日期
- 16. 将日期字符串转换为带日期的ISO日期
- 17. 将Julian日期转换为日期javascript中的日期
- 18. 将Stata转换为R的日期
- 19. 如何将R日期转换为Excel数字序列日期?
- 20. 如何将日期日期转换为英文日期格式?
- 21. 将日期转换为日期时显示不同日期
- 22. 将美国日期(文本)转换为欧洲日期(日期)的Excel转换
- 23. R lubridate将秒转换为日期
- 24. R将字符转换为日期
- 25. 将SAS日期格式转换为R
- 26. 将日期转换为varchar,然后将其转换回日期
- 27. 转换Json的日期为Java日期
- 28. 将日期向量合并后的日期变化R
- 29. 什么是儒略日期格式
- 30. R中的日期转换
这个热门的答案是关于_Day of Year/Ordinal date_和* not * about _ [Julian Date](https://en.wikipedia.org/wiki/Julian_day)_。朱利安日期是公元前4713年(!!)的日计数。为什么这个答案这么多次upvoted ?. –
参见[*术语*](https://en.wikipedia.org/wiki/Julian_day#Terminology)小节 - *“除了天文学,Julian日期也可以指日历年的数字(更多正确的,顺序的日期)格里历,特别是在计算机编程...“*。我猜测程序员的票数超过了天文学家的票数。 –
一个好的:)。请注意Andrei的答案如下。它实际上是计算天文学相关的儒略日期。还要注意,标签朱连指的是与天文有关的含义。现在我投降.. –