Skip to content

Commit

Permalink
config に設定したタイムゾーンの日時を表示する用にした
Browse files Browse the repository at this point in the history
  • Loading branch information
kamikoloss committed Feb 9, 2024
1 parent da1b164 commit 99fab7a
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 13 deletions.
13 changes: 1 addition & 12 deletions scrapbox-nuxt-blog/components/Date.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,8 @@ const props = defineProps({
unixTime: Number,
showTime: Boolean,
})
const getDateString = (unixTime) => {
const date = new Date(unixTime * 1000)
if (props.showTime) {
// 年月日 + 時間
return date.toISOString().slice(0, 16).replace('T', ' ')
} else {
// 年月日のみ
return date.toISOString().slice(0, 10)
}
}
</script>

<template>
<span>{{ getDateString(unixTime) }}</span>
<span>{{ getDateString(unixTime, showTime) }}</span>
</template>
2 changes: 2 additions & 0 deletions scrapbox-nuxt-blog/scrablog.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ const appConfig = {
articlesPerPage: 5,
// 記事をどのような形式で表示するか (BLOG_FULL or BLOG_CARD)
indexType: indexTypes.BLOG_FULL,
// 作成日時と更新日時のタイムゾーン
timeZone: 'Asia/Tokyo',
// 記事に作成日時を表示するか
showCreated: true,
// 記事に更新日時を表示するか (作成日時と異なる場合のみ)
Expand Down
19 changes: 18 additions & 1 deletion scrapbox-nuxt-blog/utils/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
import { appConfig } from "~/scrablog.config"

// Unix Time を日時の文字列に変換する
export const getDateString = (unixTime: number, showTime: boolean): string => {
const date = new Date(unixTime * 1000)
// 2023-12-31 23:59:59
const dateString = date.toLocaleString('sv-SE', { timeZone: appConfig.timeZone })

if (showTime) {
// 年月日 + 時間
return dateString.slice(0, 16)
} else {
// 年月日のみ
return dateString.slice(0, 10)
}
}

// 記事のタイトルをエスケープする
export const escapeArticleTitle = (title: string): string => {
return title.replace(/ /g, '_').replace(/\//g, '%2F')
Expand All @@ -6,4 +23,4 @@ export const escapeArticleTitle = (title: string): string => {
// 記事のタイトルをアンエスケープする
export const unescapeArticleTitle = (title: string): string => {
return title.replace(/_/g, ' ').replace(/%2F/g, '/')
}
}

0 comments on commit 99fab7a

Please sign in to comment.