所属分类:web前端开发
JSON 是一种功能强大的数据格式,用于在服务器和客户端之间交换数据。很多时候,JSON 数据是以字符串格式接收的,我们需要将其转换为可用的 JSON 对象。在这个过程中,一个重要的需求就是将字符串数据转换为Date格式。在本文中,我们将学习如何使用 Javascript 将 JSON 结果转换为日期字符串。
JSON 对象包含这样的日期 -
{ name: "John", time: '/Date(1559072200000)/' }
结果将是 -
Wed May 29 2019 01:06:40 GMT+0530 (India Standard Time)
这里有一些实现这一目标的方法 -
使用 string.replace 方法
使用正则表达式
JavaScript中的replace方法用于将一个字符串的一部分替换为另一个字符串。以下是使用 String.replace 方法将 JSON 结果转换为日期的步骤。
将字符串“/Date(”的第一部分替换为空字符串
将字符串“)/”的最后部分替换为空字符串
通过解析 JSON 字符串中的毫秒数来创建新的 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>
以下是使用正则表达式将 JSON 结果转换为日期的步骤。
使用正则表达式从 JSON 日期字符串中提取 unix 时间戳
通过解析 JSON 字符串中的毫秒数来创建新的 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>