如何格式化要打印的JavaScript日期对象10-Aug-2010?
我将时间存储在MySQL数据库中作为Unix时间戳,并将其发送到某些JavaScript代码.我怎么才能得到它的时间?
例如,以HH/MM/SS格式.
假设我有一些对象的数组:
var array = [{id: 1, date: Mar 12 2012 10:00:00 AM}, {id: 2, date: Mar 8 2012 08:00:00 AM}];
Run Code Online (Sandbox Code Playgroud)
如何从最接近当前日期和时间的日期开始按日期元素对此数组进行排序?请记住,数组可能有很多对象,但为了简单起见,我使用了2.
我会使用sort函数和自定义比较器吗?
UPDATE
在我的具体情况下,我希望日期安排从最新到最旧.结果我不得不颠倒简单函数的逻辑:
array.sort(function(a, b) {
a = new Date(a.dateModified);
b = new Date(b.dateModified);
return a>b ? -1 : a<b ? 1 : 0;
});
Run Code Online (Sandbox Code Playgroud)
这会对最近的日期进行排序.
new Date(Date.parse("Jul 8, 2005"));
Run Code Online (Sandbox Code Playgroud)
2005年7月8日星期五00:00:00 GMT-0700(太平洋标准时间)
new Date(Date.parse("2005-07-08"));
Run Code Online (Sandbox Code Playgroud)
2005年7月7日星期五17:00:00 GMT-0700(太平洋标准时间)
为什么第二个解析不正确?
有这个字符串30/11/2011.我想将它转换为日期对象.
我需要使用:
Date d = new Date(2011,11,30); /* months 1..12? */
Run Code Online (Sandbox Code Playgroud)
要么
Date d = new Date(2011,10,30); /* months 0..11? */
Run Code Online (Sandbox Code Playgroud)
?
我有两个字符串日期格式为m/d/yyyy.例如,"11/1/2012","1/2/2013".我在JavaScript中编写一个函数来比较两个字符串日期.我的函数的签名是
bool isLater(string1, string2),如果string1传递的日期晚于string2传递的日期,它将返回true,否则返回false.因此,isLater("1/2/2013","11/1/2012")应该返回true.如何为此编写JavaScript函数?
如何将字符串转换'01-01-1970 00:03:44'为datetime?
使用new Date或Date.parse在JavaScript中,我不能只传递任意日期格式.根据格式,我得到的日期与我想要的不同,甚至Invalid Date不是日期对象.某些日期格式在一个浏览器中工作,但在其他浏 那么我应该使用哪种日期时间格式?
其他问题:
所有浏览器都支持相同的格式吗?Mozilla Firefox,Google Chrome,Microsoft Internet Explorer,Microsoft Edge和Apple Safari如何处理日期时间字符串?那么Node.js呢?
是否需要考虑本地日期格式?例如,如果我住在瑞士并且日期格式是30.07.2018,我可以使用new Date('30.07.2018')吗?
是否需要考虑当地时区?
如何从日期对象中获取日期时间字符串?
如何检测无效的日期时间字符串?
Moment.js等日期库如何处理日期字符串?
如果您没有注意到,我回答了我自己的问题(为什么?).
当我通过JSON从Java发送日期到Javascript时,它会发送如下内容:
var ds = "11:07:47 13/01/2011";
Run Code Online (Sandbox Code Playgroud)
Javascript无法将此字符串解析为日期
var d = new Date(ds);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我目前正在尝试从HTML输入中获取值(下面)
<input type="date" id="dateInput" />
Run Code Online (Sandbox Code Playgroud)
并把它放入一个javascript变量,所以我可以用它来做其他事情.我目前正在使用下面的代码.
var input = document.getElementById("dateInput").value;
var dateEntered = new Date(input);
Run Code Online (Sandbox Code Playgroud)
但是当我测试这些变量时,它告诉我输入是""而dateEntered是"无效日期".
我已经尝试了.valueAsDate而不仅仅是.value.当我测试它们时,它告诉我输入为空并且dateEntered是"Wed Dec 31 1969 19:00:00 GMT-0500(东部标准时间)",即使我输入今天的日期.
我如何解决这个问题,以便javascript变量实际反映我输入的日期?我使用谷歌浏览器作为我的浏览器.
编辑和更新 对于那些想要我的整个代码的人来说,缩进有点遗憾:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Calculate Time</title>
<link rel="stylesheet" href="styles.css" />
<script src="modernizr.custom.05819.js"></script>
</head>
<body>
<header>
<h1> Calculate Time </h1>
</header>
<article align="center">
<div id="cities">
// My navigation links here (REMOVED)
</div>
<div id="caption">
Calculate the time elapsed since a date entered. …Run Code Online (Sandbox Code Playgroud) javascript ×10
date ×9
string ×4
datetime ×3
date-format ×2
time ×2
time-format ×2
html ×1
input ×1
json ×1