2

是否有一种更有效/更优雅的方法来执行以下操作,其中我将输出中的所有数字连接Sys.time()起来

x <- as.character(Sys.time())
paste0(substr(x,0,4),substr(x,6,7),substr(x,9,10),substr(x,12,13),substr(x,15,16),substr(x,18,20))

它可能包括以某种方式粘贴和折叠,但不知道该怎么做......

4

3 回答 3

7

您可以使用格式文字strftime()POSIXct对象转换为字符:

strftime(Sys.time(), "%Y%m%d%H%M%S")
[1] "20120910061602"

有关?strftime要使用的字符串文字的详细信息,请参阅。

于 2012-09-10T05:17:24.500 回答
6

我本来以为format是第一选择:

format(Sys.time(), "%Y%m%d%H%M%S")
[1] "20120909231732"
于 2012-09-10T06:19:31.463 回答
4

您可以只去除非数字字符:

gsub("[^0-9]","",x)
[1] "20120910151242"
于 2012-09-10T05:17:03.983 回答