Date-fns RangeError: Invalid time value
Date-fns RangeError: Invalid time value
您好,我想使用 date-fns 库将 mongo db created_at 时间戳转换为... minutes/hours 之前。该函数称为 formatDistanceToNow
,自提供的日期时间起 returns 时间。我在前端使用 Vue,但似乎无法正常工作。
<template>
<div class="feed">
<div v-for="post in feed" :key="post.id" class="post">
<h3>{{ post.name }}</h3>
<p>{{ post.timestamp }}</p> // return 2021-06-12T12:59:57.337Z
<p>{{ Date(post.timestamp) }}</p> // return Mon Jun 14 2021 16:02:22 GMT+0100 (British Summer Time)
<!-- <p>{{ formatDate(post.timestamp) }}</p> -->
<!-- <p>{{ formatDate(Date(post.timestamp)) }}</p> -->
</div>
</div>
</template>
<script>
import { mapState } from 'vuex'
import { formatDistanceToNow } from 'date-fns'
export default {
computed: {
...mapState(['feed']),
formatDate(timestamp){
return formatDistanceToNow(timestamp)
}
}
}
</script>
2行注释的代码是我试过的,但一直出现以下错误
Uncaught (in promise) RangeError: Invalid time value
您不能将参数传递给计算函数,所以在这里您需要使用 method
。此外,时间格式确实不正确,如文档页面所示:https://date-fns.org/v2.22.1/docs/formatDistanceToNow
2021-06-12T12:59:57.337Z
与 Sat Jun 12 2021 14:59:57 GMT+0200 (Central European Summer Time)
不同(在我的时区)。
要从一个转到另一个,请使用 new Date("2021-06-12T12:59:57.337Z")
最终代码看起来像这样
<template>
<div>
format: {{ formatDate(test) }}
</div>
</template>
<script>
export default {
data() {
test: '2021-06-12T12:59:57.337Z',
},
methods: {
formatDate(timestamp) {
return formatDistanceToNow(new Date(timestamp))
},
}
}
</script>
您好,我想使用 date-fns 库将 mongo db created_at 时间戳转换为... minutes/hours 之前。该函数称为 formatDistanceToNow
,自提供的日期时间起 returns 时间。我在前端使用 Vue,但似乎无法正常工作。
<template>
<div class="feed">
<div v-for="post in feed" :key="post.id" class="post">
<h3>{{ post.name }}</h3>
<p>{{ post.timestamp }}</p> // return 2021-06-12T12:59:57.337Z
<p>{{ Date(post.timestamp) }}</p> // return Mon Jun 14 2021 16:02:22 GMT+0100 (British Summer Time)
<!-- <p>{{ formatDate(post.timestamp) }}</p> -->
<!-- <p>{{ formatDate(Date(post.timestamp)) }}</p> -->
</div>
</div>
</template>
<script>
import { mapState } from 'vuex'
import { formatDistanceToNow } from 'date-fns'
export default {
computed: {
...mapState(['feed']),
formatDate(timestamp){
return formatDistanceToNow(timestamp)
}
}
}
</script>
2行注释的代码是我试过的,但一直出现以下错误
Uncaught (in promise) RangeError: Invalid time value
您不能将参数传递给计算函数,所以在这里您需要使用 method
。此外,时间格式确实不正确,如文档页面所示:https://date-fns.org/v2.22.1/docs/formatDistanceToNow
2021-06-12T12:59:57.337Z
与 Sat Jun 12 2021 14:59:57 GMT+0200 (Central European Summer Time)
不同(在我的时区)。
要从一个转到另一个,请使用 new Date("2021-06-12T12:59:57.337Z")
最终代码看起来像这样
<template>
<div>
format: {{ formatDate(test) }}
</div>
</template>
<script>
export default {
data() {
test: '2021-06-12T12:59:57.337Z',
},
methods: {
formatDate(timestamp) {
return formatDistanceToNow(new Date(timestamp))
},
}
}
</script>