有沒有辦法從整數84601
中創建8:46:01
而不使用R中的模運算?像其他語言中的蒙版一樣的格式:format(84600, "HHMMSS")
?否則需要模的分流與一些凌亂的公式使用內置函數從整數創建有效時間
1
A
回答
5
format(strptime("084601","%H%M%S"),"%H:%M:%S")
的作品,但你必須確保你有一個兩位數小時,例如:
x <- "84601"
在任何前面加零5位數的數字串:
xx <- gsub("([0-9]{5})","0\\1",x)
(或如@Frank在評論說,sprintf("%06d", x)
會爲整數的工作...)
轉換:
format(strptime(xx,"%H%M%S"),"%H:%M:%S")
(如果你不這樣做format()
你會得到被填充到當前日期的日期 - 時間字符串...)
3
只是把它作爲一個字符串:
x <- 84601
# index from end in case of extra hours digit
y <- paste0(substr(x, 1, nchar(x)-4), ':',
substr(x, nchar(x)-3, nchar(x)-2), ':',
substr(x, nchar(x)-1, nchar(x)))
y
# [1] "8:46:01"
或用正則表達式:
y <- gsub('(.?.)(..)(..)', '\\1:\\2:\\3', x)
y
# [1] "8:46:01"
或用format
(格式化數字,而不是時間):
y <- format(x, big.mark = ':', big.interval = 2L)
y
# [1] "8:46:01"
如果你需要的實際時間類,chron::times
是好的:
chron::times(y)
# [1] 08:46:01
+1
chron的替代方法是data.table中的ITime,例如'data.table :: as.ITime(sprintf(」%06d「,x)」, %H%M%S「)' – Frank
相關問題
- 1. 如何使用內置函數名稱創建用戶特定函數?
- 2. 創建函數的方法效果每隔一段時間
- 3. 如何有效地使用WordPress內置函數查詢wp_usermeta?
- 4. 創建時間處理函數(Excel VBA)
- 5. 在函數內部創建臨時表
- 6. Python enterInteger函數 - 檢查有效整數
- 7. 不使用MATLAB內置函數創建對角矩陣
- 8. 使用內置類型(,,)函數創建動態模塊
- 9. 將數字從字符串轉換爲整數而不使用內置函數
- 10. 在非尾遞歸函數中使用Scala內部函數時會有效嗎?
- 11. 創建時間和內存使用效率,PHP腳本
- 12. 使用函數構造函數創建函數的內部引用
- 13. 使用int函數取整爲最低有效位數
- 14. 如何從anonymus函數創建有效載荷
- 15. 從函數值有效地創建矩陣
- 16. 使用函數的私有函數的引用創建對象
- 17. 如何在函數內創建2`this`引用在函數內
- 18. 使用Python創建函數
- 19. 創建使用JavaScript函數
- 20. 使用newID創建函數()
- 21. 使用函數創建列
- 22. 使用array_merge創建函數
- 23. 從價值創建'時間整理'
- 24. 如何創建沒有任何內置函數的自相關函數,如xcorr
- 25. 如何創建項目使用的所有內置PHP函數的列表?
- 26. 從函數名獲取內置函數
- 27. R空間映射:使用類間隔函數創建間隔
- 28. 當整數處於有效方式內時輸入無效?
- 29. 從數據庫創建時間表
- 30. ColdFusion - 從分鐘數創建時間
假設OP一個整數開始(他們說),他們也可以添加像sprintf(「%06d」,84601L)的前導零「 – Frank