将字符转换为日期R.

时间:2018-04-11 09:45:13

标签: r date format date-conversion

在使用R中的日期时,我遇到了一些日期问题。

这是我的情况。

我正在使用具有以下值的列日期(ProjectDate)的数据集

class(Dataset$ProjectDate)
"character"

head(Dataset$ProjectDate)
"End July 2014" "End August 2014" "End September 2014" "End October 2014"

我想将其转换为"%M%Y"格式

我该怎么做?

谢谢

2 个答案:

答案 0 :(得分:2)

您应该考虑使用两步流程。首先使用async getAllActiveRooms(ctx: ?ContextType): Promise<RoomType[]> { //log getAllActiveRooms return this.i.knex('users_rooms') .transacting(ctx ? ctx.transaction : null) .leftJoin('rooms', 'users_rooms.roomId', 'rooms.id') .select('rooms.*') .where('active', true); } async getActiveRoomsBySessionId(ctx: ?ContextType, sessionId: number): Promise<RoomType[]> { //log getAllActiveRooms return this.i.knex('users_rooms') .transacting(ctx ? ctx.transaction : null) .leftJoin('rooms', 'users_rooms.roomId', 'rooms.id') .select('rooms.*') .where('active', true) .andWhere('sessionId',sessionId) }End中删除ProjectDate部分。

现在,您可以应用sub库中的yearmon转换为zoo日期格式。

month year

答案 1 :(得分:1)

请尝试以下方法 首先是数据。

x <- scan(what = character(),
          text = '"End July 2014" "End August 2014"
                  "End September 2014" "End October 2014"')

现在转换为日期。请注意,您的日期没有一天,因此我将"End"替换为"1"天。

as.Date(sub("^[[:alpha:]]+", "1", x), "%d %B %Y")
#[1] "2014-07-01" "2014-08-01" "2014-09-01" "2014-10-01"