2017-06-01 7 views
1
library(DT) 
seq_dates <- data.frame(dates = as.Date("2017-01-01") + 1:6 * 100) 
datatable(seq_dates) %>% formatDate(1, "toDateString") 

「May May 22 2017」の形式で日付を表示するビューアーペインでデータテーブルを取得します。Datatable出力の書式日付

Q - どのように私が行う場合はI "MM-YY" などの形式の日付欄

は、

dplyr::mutate(seq_dates, dates = format(dates, format = "%b-%Y")) %>% 
    datatable() 

は、私は必要な日付形式を取得しますが、この第二の場合には列の並べ替えがないことができます仕事は(ソートは日付ではなくアルファベットで行われます)

PS - 私はこれを輝かしいものにしています。

答えて

0

日付フォーマットに"%b-%y"「日付」を変換すると、私が見ることができるよう簡単なことではありません...

あなたも"%b-%y"形式の表示に接続していない場合は、簡単な方法は"%Y-%m"または"%y-%m"形式を使用することですフィルタはうまく動作します。これらの場合に

library(DT) 

seq_dates <- as.data.frame(seq(Sys.Date() - 100, Sys.Date(), by = "m")) 
seq_dates <- format(seq_dates, format = "%y-%m") 

datatable(seq_dates) 

#resulting in 

#1  2017-02 
#2  2017-03 
#3  2017-04 
#4  2017-05 

#or 

#1  17-02 
#2  17-03 
#3  17-04 
#4  17-05 
2

こんにちは、私は最善の解決策はorginal形式で日付のダミー列を追加し、内の値に応じてソートされた日付列を持つことだと思いますかダミー列。これはDatatableにあります。以下のコード例。

seq_dates <- data.frame(dates = as.Date("2017-01-01") + 1:6 * 100) 
datatable(seq_dates %>% mutate(DUMMY = dates,dates = format(dates, format = "%b-%Y")), 
      options = list(
      columnDefs = list(
       list(targets = 1,orderData = 2), 
       list(targets = 2, visible = FALSE) 
      ) 
      )) 
+0

ニースの回避策。私は 'formatDate()'の解決策を期待していました。数日後に直接解決策がなければ、私はあなたのことを検証します。 –

+0

I(OP)はMM-YY形式が必要なので、適切なレベルの要素としてdate colを変換しました。これがトリックでした! – Vasim

+0

@Vasimはあなた自身の解決策を見つけ出しましたが、私の解決策ではあらゆる種類の日付形式が許可されていましたので、回答に投票する必要はありません。 –