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>