【发布时间】:2020-11-19 12:32:14
【问题描述】:
我想要做的是获取变量“todaysDate”来获取今天的日期并在Days 中产生差异并计算周数和天数。如果我手动将日期输入到“todaysDate”,我的计算就可以工作了。
我认为 ShowCurrentDate 的结果格式不适用于 date-fns。我尝试添加 moment.js 来获取今天的日期,但没有成功。
这是我想要开始工作的部分:
ShowCurrentDate=()=>{
var date = new Date().getDate();
var month = new Date().getMonth() + 1;
var year = new Date().getFullYear();
return year + ',' + month + ',' + date;
}
完整代码:
import React from 'react'
import { StyleSheet, Text, Alert } from 'react-native'
import LinearGradient from 'react-native-linear-gradient'
import { differenceInDays } from 'date-fns'
ShowCurrentDate=()=>{
var date = new Date().getDate();
var month = new Date().getMonth() + 1;
var year = new Date().getFullYear();
return year + ',' + month + ',' + date;
}
const startDate = new Date(2020, 6, 7)
const todaysDate = new Date(2020, 7, 29)
var resultDays = differenceInDays(todaysDate, startDate)
var resultDaysToWeeks = (resultDays/7)
var resultWeeks = Math.trunc(resultDaysToWeeks);
var resultDaysLeft = (resultDays-(resultWeeks*7))
class App extends React.Component {
render() {
return (
<LinearGradient
colors={['#FF00FF', '#00FFFF']}
style={styles.container}
start={{ x: 0, y: 0 }}
end={{ x: 1, y: 1 }}
>
<Text style={styles.whiteText}>Pregnant</Text>
<Text style={styles.number}>{resultWeeks}</Text>
<Text style={styles.baseText}>weeks</Text>
<Text style={styles.number}>{resultDaysLeft}</Text>
<Text style={styles.baseText}>days</Text>
</LinearGradient>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
number: {
fontWeight: 'bold',
fontSize: 180,
},
baseText: {
fontWeight: 'bold',
fontSize: 40,
},
whiteText: {
fontWeight: 'bold',
fontSize: 60,
color: '#FFFFFF',
},
})
export default App;
【问题讨论】:
标签: javascript react-native date-fns