Prisma

22.01.05 [prisma] Date.now()와 new Date()

슈팅스타제제 2022. 1. 5. 21:52

schema.prisma에서 time에 대한 타입을 다음과 같이 정의하였다. 

model Schema {
  id Int
  time DateTime
}

처음에는 prisma.table.create에서 현재 시간을 time에 저장할 때,

Date.now()로 작성했는데 아래와 같은 에러가 발생하였다. 

"\nInvalid `prisma.oneDay.create()` invocation:\n\n{\n  data: {\n    coinId: 4,\n    symbol: 'coinData.symbol',\n    quote: 34,\n    time: '1641370249008'\n          ~~~~~~~~~~~~~~~\n  }\n}\n\nArgument time: Got invalid value '1641370249008' on prisma.createOneOneDay. Provided String, expected DateTime.\n\n"

그래서 찾다가 new Date()로 바꿨는데 정상 작동했다. 

이유는 Date.now()는 1970년 1월 1일 0시부터 밀리초로 환산한 시간 즉 숫자로 나오기 때문에 데이터 타입이 number이고, 

new Date()는 현재 날짜와 시간을 오브젝트로 나타낸 것이며 DateTime과 맞는 타입이었던 것이다. 

참고문서링크:

https://velog.io/@taelee/Date-new-Date-new-Date-Date.now-%EC%B0%A8%EC%9D%B4-JavaScript

 

Date(), new Date(), +new Date(), Date.now(), 차이 - JavaScript

new Date() : 날짜 시간 오브젝트Date(): 위 오브젝트를 문자열로 바꿈\+new Date(), Date.now(): 둘은 같은데 1970년 1월 1일 0시부터 지난 시간을 밀리초로 환산

velog.io

 

'Prisma' 카테고리의 다른 글

22.01.09 select fields(정리중)  (0) 2022.01.09
22.01.09 [prisma] CRUD update query  (0) 2022.01.09
21.11.11 pagination  (0) 2021.11.12
21.11.02 prisma 설치하기  (0) 2021.11.04
21.11.01 prisma 설치  (0) 2021.11.01