>  기사  >  웹 프론트엔드  >  자바스크립트 타임스탬프를 날짜/시간으로

자바스크립트 타임스탬프를 날짜/시간으로

WBOY
WBOY원래의
2023-05-15 19:38:061069검색

JavaScript는 웹 프런트 엔드 개발 및 서버 측 프로그래밍에 널리 사용되는 강력한 스크립팅 언어입니다. 타임스탬프와 날짜/시간 간의 변환은 JavaScript에서 매우 일반적인 작업입니다.

타임스탬프는 1970년 1월 1일 00:00:00 UTC(협정 세계시) 이후의 밀리초 수입니다. JavaScript에서는 다음 코드를 사용하여 현재 타임스탬프를 얻을 수 있습니다.

var timestamp = new Date().getTime(); // 获取当前时间戳

그러나 타임스탬프는 직관적이지 않으며 사람이 이해할 수 있도록 날짜/시간 형식으로 변환해야 하는 경우가 많습니다. JavaScript는 타임스탬프와 날짜/시간 간 변환을 위한 여러 가지 방법을 제공합니다. 아래에서는 이러한 방법을 각각 소개합니다.

타임스탬프를 날짜 및 시간으로 변환

타임스탬프를 날짜 및 시간으로 변환하려면 Date 개체의 toLocaleString() 메서드를 사용할 수 있습니다. 이 메소드는 현지 시간을 기준으로 yyyy/MM/dd HH:mm:ss 형식의 문자열을 반환합니다. 코드는 다음과 같습니다. Date 对象的 toLocaleString() 方法。这个方法会根据本地时间返回一个字符串,格式为 yyyy/MM/dd HH:mm:ss。代码如下:

var timestamp = 1626194523854; // 假设时间戳为 2021/07/14 12:15:23.854
var datetime = new Date(timestamp).toLocaleString('zh-CN', {hour12: false});
console.log(datetime); // 输出:2021/7/14 12:15:23

其中,toLocaleString() 方法接受两个参数:

  • 第一个参数指定地区(locale)代码,这里我们用 zh-CN 表示中国。根据地区不同,时间格式会有所不同。
  • 第二个参数以对象形式传入,用于设置日期时间的格式。{hour12: false} 表示不使用 12 小时制,而是使用 24 小时制。

这样,我们就成功将时间戳转换为了日期时间格式。

日期时间转时间戳

将日期时间转换为时间戳,可以使用 Date 对象的 getTime() 方法。该方法返回自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。代码如下:

var datetime = '2021-07-14T12:15:23.854Z'; // 假设日期时间为 2021/07/14 12:15:23.854 UTC
var timestamp = new Date(datetime).getTime();
console.log(timestamp); // 输出:1626292523854

其中,日期时间需要满足 ISO 8601 标准格式,即 yyyy-MM-ddTHH:mm:ss.sssZ。在这个格式中,Z 表示时区为 UTC,也可以指定其他时区。

这样,我们就成功将日期时间转换为了时间戳。

性能考虑

虽然以上代码看起来简单易懂,但需要注意的是,每次创建 Date 对象会产生一定的性能开销,特别是在循环中或者频繁调用时。为了提高性能,我们可以使用一个小技巧,将时间戳缓存为一个变量,只在需要时进行转换,如下所示:

var timestamp = 1626194523854; // 假设时间戳为 2021/07/14 12:15:23.854
var datetime = null; // 初始值为 null,表示尚未转换
var getDatetime = function() {
  if (datetime === null) {
    datetime = new Date(timestamp).toLocaleString('zh-CN', {hour12: false});
  }
  return datetime;
};
console.log(getDatetime()); // 输出:2021/7/14 12:15:23

这样,在第一次调用 getDatetime() 时,会进行时间戳转换操作,并将结果缓存到 datetimerrreee

그 중 toLocaleString() 메서드는 두 개의 매개 변수를 허용합니다.

  • 첫 번째 매개 변수는 지역(로케일) 코드를 지정합니다. 여기서는 zh- CN은 중국을 의미합니다. 시간 형식은 지역에 따라 다릅니다.
  • 두 번째 매개변수는 객체로 전달되며 날짜 및 시간 형식을 설정하는 데 사용됩니다. {hour12: false}는 12시간제 대신 24시간제를 사용한다는 의미입니다.
이런 방식으로 타임스탬프를 날짜 및 시간 형식으로 성공적으로 변환했습니다. 🎜🎜날짜 시간을 타임스탬프로🎜🎜날짜 시간을 타임스탬프로 변환하려면 Date 개체의 getTime() 메서드를 사용할 수 있습니다. 이 메서드는 1970년 1월 1일 00:00:00 UTC(협정 세계시) 이후의 밀리초 수를 반환합니다. 코드는 다음과 같습니다. 🎜rrreee🎜 그 중 날짜와 시간은 ISO 8601 표준 형식, 즉 yyyy-MM-ddTHH:mm:ss.sssZ를 충족해야 합니다. 이 형식에서 Z는 시간대가 UTC이지만 다른 시간대도 지정할 수 있음을 나타냅니다. 🎜🎜이런 식으로 날짜와 시간을 타임스탬프로 성공적으로 변환했습니다. 🎜🎜성능 고려 사항🎜🎜위 코드가 간단하고 이해하기 쉬워 보이지만 Date 객체가 생성될 때마다 특히 루프 또는 루프에서 특정 성능 오버헤드가 발생한다는 점에 유의해야 합니다. 자주 전화할 때. 성능을 향상시키기 위해 아래와 같이 약간의 트릭을 사용하여 타임스탬프를 변수로 캐시하고 필요할 때만 변환할 수 있습니다. 🎜rrreee🎜이런 식으로 getDatetime()에 대한 첫 번째 호출에서 , 타임스탬프 변환 작업이 수행되고 결과는 datetime 변수에 캐시됩니다. 후속 호출에서는 캐시된 결과를 직접 반환하면 됩니다. 이렇게 하면 반복되는 타임스탬프 변환 작업이 방지되고 코드 성능이 향상됩니다. 🎜🎜간단히 말하면 JavaScript에서 타임스탬프와 날짜/시간 간의 변환은 매우 중요하고 매우 일반적입니다. 올바른 변환 방법을 익히고 코드 성능에 주의를 기울이면 다양한 시간 변환 요구 사항에 쉽게 대처할 수 있습니다. 🎜

위 내용은 자바스크립트 타임스탬프를 날짜/시간으로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:HTML 오류 페이지다음 기사:HTML 오류 페이지