JavaScript 如何将JSON结果转换为日期

JavaScript 如何将JSON结果转换为日期

JSON是一种强大的数据格式,可以从服务器到客户端交换数据,反之亦然。很多时候,JSON数据是以字符串格式接收的,我们需要将其转换为可用的JSON对象。在这个过程中,将字符串数据转换为日期格式是一个重要的要求。在这篇文章中,我们将学习如何使用Javascript将JSON结果转换为日期字符串。

JSON对象包含的日期是这样的-

{
   name: "John",
   time: '/Date(1559072200000)/'
}

而结果将是–

Wed May 29 2019 01:06:40 GMT+0530 (India Standard Time) 

以下是实现这一目标的几种方法 –

  • 使用string.replace方法

  • 使用Regex

方法1:使用String.replace()方法

JavaScript中的替换方法是用来用另一个字符串替换一个字符串的一部分。下面是使用String.replace方法将JSON结果转换为日期的步骤。

  • 用一个空字符串替换字符串”/Date(“的第一部分

  • 用一个空字符串替换字符串”)/”的最后部分

  • 通过解析JSON字符串中的毫秒数创建一个新的Date对象

  • 现在你得到了Date,你可以把它作为一个普通的javascript日期来使用。

例子

在这个例子中,我们使用String.replace()方法将JSON结果转换为一个日期。

<html> 
<body>
   <h2>Convert JSON results into a date using JavaScript</h2>
   <p>Click the following button to convert JSON results into a date</p>
   <button id="btn" onclick="convert( )"> Click Here </button> <br>
   <h3>Input Data : </h3>
   <p id="input"> /Date(1559072200000)/ </p>
   <h3> Resulting Date: </h3>
   <p id="output"> </p>
   <script>
      function convert() {

         // Store the JSON date string in a variable
         var jsonDate = '/Date(1559072200000)/';

         // Replace the first part of the string "/Date(" with an empty string
         jsonDate = jsonDate.replace("/Date(", " ")

         // Replace the last part of the string ")/" with an empty string
         jsonDate = jsonDate.replace(")/", " ")

         // Create a new Date object by parsing the number of milliseconds from the JSON string
         let strDate = new Date(parseInt(jsonDate));

         // Get the and output element in the HTML document
         let output = document.getElementById("output")

         // Set the inner text of the output element to the formatted date
         output.innerText = strDate;
      }
   </script>
</body>
</html>

方法2:使用Regex

下面是使用regex将JSON结果转换成日期的步骤。

  • 使用regex从JSON日期字符串中提取unix时间戳

  • 通过解析JSON字符串中的毫秒数创建一个新的Date对象

  • 现在你得到了Date,你可以把它作为一个正常的javascript日期来使用。

<html>
<body>
   <h2>Convert JSON results into a date using JavaScript</h2>
   <p>Click the following button to convert JSON results into a date</p>
   <button id="btn" onclick="convert( )"> Click Here </button> <br>
   <h3>Input Data : </h3>
   <p id="input"> /Date(1559072200000)/ </p>
   <h3> Resulting Date: </h3>
   <p id="output"> </p>
   <script>

      // Function to convert the JSON date format to a readable date
      function convert() {

         // The JSON date string in the format '/Date(unixTimestamp)/'
         var jsonDate = '/Date(1559072200000)/'; 

         // Extract the Unix timestamp from the JSON date string using regex
         jsonDate = jsonDate.match(/\d+/);

         // Create a new Date object using the unix timestamp
         let strDate = new Date(parseInt(jsonDate));

         // Get a reference to the HTML element with the id "output"
         let output = document.getElementById("output");
         output.innerText = strDate;
      }
   </script>
</body>
</html>

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程