これは何?
JavaScriptで「あれってどう書くんだっけ?」を集めたメモです。
時間系
Sleep
- Return: [
void
]
const sleep = msec => new Promise(resolve => setTimeout(resolve, msec))
UNIX timeを取得
- Return: [
number
]:1635204475862
(msec)
(new Date()).getTime()
文字列として時間を取得
- Inputs:
- TIMESTAMP_MSEC: [
number
]:1635204475862
- TIMESTAMP_MSEC: [
- Return: [
string
]:"Tue Oct 26 2021 08:27:55 GMT+0900 (Japan Standard Time)"
new Date(1000 * TIMESTAMP_MSEC);
Timezoneを考慮した時間を取得
- Return: [
string
]:"2021-10-26T08:01:57.241Z"
const getDateNow = () => {
const date = new Date()
return new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toJSON()
}
File操作系
ディレクトリ作成(再帰的)
- Arguments:
- DIR_NAME: [
string
]:"/home/hoge/download"
- DIR_NAME: [
- Return: [
void
]
const fs = require('fs-extra');
try {
fs.mkdirSync(`${DIR_NAME}`, { recursive: true })
} catch(e) {
console.error(e.message);
}
ファイル存在確認
- Arguments:
- FILE_NAME: [
string
]:"/home/hoge/download/test.txt"
- FILE_NAME: [
- Return: [
Boolean
]
const fs = require('fs-extra');
try {
if (fs.existsSync(`${FILE_NAME}`)) {
// アリ
} else {
// ナシ
}
} catch(e) {
console.error(e.message);
}
ファイルを書き出す
- Arguments:
- FILE_NAME: [
string
]:"/home/hoge/download/test.txt"
- CONTENT_TEXT: [
string
]:"aaaa\nbbbb\ncccc"
- FILE_NAME: [
- Return: [
Boolean
]
const fs = require('fs-extra');
try {
fs.writeFileSync(`${FILE_NAME}`, `${CONTENT_TEXT}`)
} catch(e) {
console.error(e.message);
}
ファイルの属性取得
- Arguments:
- FILE_NAME: [
string
]:"/home/hoge/download/test.txt"
- FILE_NAME: [
- Return: [
object
]: class-fsstats
const fs = require('fs-extra');
try {
const fileStat = fs.statSync(`${FILE_NAME}`)
} catch(e) {
console.error(e.message);
}
コメント
@hlce832(編集済み) リンクをコピー このコメントを報告
0
オブジェクト生成を伴わない静的メソッドの
Date.now()
のほうが軽量です。TIMESTAMP_MSEC / 1000
の誤りでは?getTimezoneOffset()
はローカルタイムでの時差(分)を返すメソッドです。また、toJSON()
で返されるISO8601形式のフォーマットの末尾のZ
は、UTCの意味です。すなわち、時差の概念を持たないUTCの日時にローカルの時差を反映させてそのまま使用しているため、時差の分ずれた誤った日時を返していることになります。