我有以下日期时间:
t< - “2018-05-01 23:02:50 UTC”
我想把它拆分为时间和日期。
当我申请日期(t)时,我会得到日期部分。
但是当我使用lubridate的hms
,parse_date_time
和其他函数以"HMS"
顺序执行此操作时,我得到NA
。
我已在SOF上查看了其他答案,但出于某种原因,它给了我NA
。
请告知如何提取它。
我想了解原因:
strftime(t, format="%H:%M:%S")
将完成这项工作,但我在lubridate::hms
或parse_date_time
答案 0 :(得分:2)
在const dataArray = [
{
title: "First Element",
content:""
},
{
title: "Second Element",
content:
"content1"
},
{
title: "Third Element",
content:
"content2"
}
];
class LocationScreen extends Component {
state = {
dataSource: dataArray, //init state with your static data
}
componentDidMount(){
return fetch('https://facebook.github.io/react-native/movies.json ')
.then((response) => response.json())
.then((responseJson) => {
this.setState({
isLoading: false,
dataSource: responseJson.data,
}, function(){
});
})
.catch((error) =>{
console.error(error);
});
}
render() {
return (
<Container>
<Content padder>
<Accordion
dataArray={this.state.dataSource} // changed to this.state.dataSource
/>
</Content>
</Container>
);
}
的{{1}}中所缺少的是,它期望以“小时分钟秒三元组的字符向量”作为参数。没有处理包含日期信息的字符串的规定。因此,lubridate
或hms()
的输出不能作为Sys.Date()
的输入。
如果您想要lubridate::now()
解决方案,请使用以下解决方案:
lubridate::hms()
由reprex package(v0.2.0)于2018-08-13创建。
答案 1 :(得分:1)
这样的东西?
library(hms)
t <- "2018-05-01 23:02:50 UTC"
unlist(strsplit(t," "))[2]%>%hms::parse_hms()
答案 2 :(得分:1)
我的解决方案是安装library(anytime)
:
date <- anytime::anydate(t)
time <- strftime(t, format="%H:%M:%S")
答案 3 :(得分:1)
这是您要找的东西吗?现在可以使用hms :: as_hms更简单地完成它。
> library(lubridate)
> library(hms)
> as_hms(ymd_hms("2018-05-01 23:02:50 UTC"))
23:02:50
> t <- "2018-05-01 23:02:50 UTC"
> as_hms(ymd_hms(t))
23:02:50
答案 4 :(得分:1)
这是一个不包含其他包(hms
之上的lubridate
)的解决方案:
t <- "2018-05-01 23:02:50 UTC"
sprintf("%02d:%02d:%02d", hour(t), minute(t), second(t))
"23:02:50"
答案 5 :(得分:-1)
存在Lubridate软件包中的功能,它称为“ hour()”,此处为官方指南: https://lubridate.tidyverse.org/reference/hour
t <- "2018-05-01 23:02:50 UTC"
lubridate::hour(t)