Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R个月内没有前导零_R_Date_Format - Fatal编程技术网

在R个月内没有前导零

在R个月内没有前导零,r,date,format,R,Date,Format,R中的format()没有明显的选项来显示不带前导0的月份(年份也是如此)。有没有其他方法可以得到这个结果?该解决方案应允许用户灵活选择是否仅在日、月、年或任何组合中省略0 日期:截止日期(“2005-09-02”) 退出:2/9/5 或仅在一个月内删除0: 输出:2/9/05您可以执行此操作,但需要将其设置为字符,因为该格式不是实际的日期格式 X = "2005-09-02" date = paste(substr(X,10,10),"/",substr(X,7,7),"/",substr(X

R中的
format()
没有明显的选项来显示不带前导0的月份(年份也是如此)。有没有其他方法可以得到这个结果?该解决方案应允许用户灵活选择是否仅在日、月、年或任何组合中省略0

日期:
截止日期(“2005-09-02”)

退出:
2/9/5

或仅在一个月内删除0:


输出:
2/9/05

您可以执行此操作,但需要将其设置为字符,因为该格式不是实际的日期格式

X = "2005-09-02"
date = paste(substr(X,10,10),"/",substr(X,7,7),"/",substr(X,4,4),sep='')
你可以试试这个

x <- as.Date(c("2005-09-02", "2005-10-20", "2010-10-20"))

gsub("0(\\d)", "\\1", format(x, "%d/%m/%y"))
# [1] "2/9/5"    "20/10/5"  "20/10/10"

x带有
sub
的解决方案:

x <- as.Date("2005-09-02")
sub("..0?(.+)-0?(.+)-0?(.+)", "\\3/\\2/\\1", x)
# [1] "2/9/5"

x关于2005-10-20呢?@G.Grothendieck-谢谢,我认为我的编辑应该注意这一点好的,如果所有的0都被删除,效果会很好。但是,如果一年应该保持零,而不是月份,那又会怎样呢?@Andrisignorel——这不是你的问题所要求的。它询问如何从包括year@Richard:示例不清楚,抱歉。我需要一个解决方案来灵活地删除m或y或两者上的前导0。感谢您的解决方案,这似乎很有希望。如何访问>9的组\\10不起作用…这是不正确的。目标不是每个字段打印一位数字,而是抑制前导的
0