使用PostgreSQL数据库,最好的存储时间的方法是小时,分钟和秒。例如。 <40> 21秒中为“ 40:21”。
示例数据:
import * as React from 'react';
import { Text, View, StyleSheet, Button, FlatList } from 'react-native';
class ChatUserCard extends React.Component {
render() {
return (
<View style={styles.cardStyle}>
<Text style={styles.itemStyle}>{this.props.username}</Text>
<Button style={styles.buttonStyle}
title='Chat'
onPress={this.startChat} />
</View>
)
}
}
export default class App extends React.Component {
constructor(props) {
super(props);
this.state = {
users: [
{ key: 123, uid: 123, username: 'taco' },
{ key: 456, uid: 456, username: 'cat' }
]
}
}
render() {
return (
<View style={styles.container}>
<FlatList style={{flex:1, backgroundColor:'red'}}
data = {this.state.users}
keyExtractor={item => item.key.toString()}
renderItem={({item}) => {
return (
<ChatUserCard key={item.uid} username={item.username} />
)
}}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1
},
});
答案 0 :(得分:2)
听起来您想存储一段时间或间隔。 PostgreSQL有一种特殊的间隔类型来存储时间长度,例如
SELECT interval'2 hours 3 minutes 20 seconds';
可以将其添加到时间戳中以形成新的时间戳,也可以相乘(以使(2 * interval'2 hours')= interval'4 hours'。间隔类型似乎是为您量身定制的情况。
答案 1 :(得分:1)
time
显然是存储时间的最佳选择。它规定了每天的时间范围(00:00:00
至24:00:00
),占用 8个字节。
或time(0)
禁止小数秒。
interval
允许任意间隔,甚至可以是负间隔,甚至可以是正负组合,例如'1 month - 3 seconds'
-不太符合您的描述-并且占用< strong> 16字节。参见:
如果要优化存储大小,请使其成为 integer
( 4个字节),以秒为单位。来回转换time
:
SELECT EXTRACT(epoch FROM time '18:55:28'); -- 68128 (int)
SELECT time '00:00:01' * 68128; -- '18:55:28' (time)