我需要在JavaScript中解析日期.格式是
[2位数日]/[2位数月份]/[4位数年份] [2位数小时(24位模式)]:[2位数分钟]
例如, 16/02/2013 21:00
但如果我这样做new Date('16/02/2013 21:00').toString(),它会给出'Wed Apr 02 2014 21:00:00 GMT+0200 (Hora de verano romance)'.
我想这是因为我的日期不遵循IETF RFC 2822日期和时间规范.然后,我应该转换我的字符串,我想将其转换为最相似的兼容格式(因为它应该更容易转换).但http://tools.ietf.org/html/rfc2822#page-14很难理解,所以我不知道哪种格式最相似.
是否有包含允许格式示例的列表?
使用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等日期库如何处理日期字符串?
如果您没有注意到,我回答了我自己的问题(为什么?).
我将此日期从api解析为字符串:DD-MM-YYYY但有时日期为DD-M-YYYY甚至DM-YYYY.
例如:
4-1-2013 或 10-10-2013 或7-4-2013
年份始终为4位数,但有时甚至数天或数月.如何手动(使用JS)在每个数字前添加0?
我正在使用moment.js进行一些计算,因此我删除' - '使用
date.replace("-", "")
Run Code Online (Sandbox Code Playgroud)
得到一个整数(例如4-1-2013 = 412013)所以我可以使用它与moment.js,但如果它是一个数字,它都搞砸了.
我不擅长jquery所以我想知道是否有一种方法或插件我可以用它来排序日期div.我在YYYY有约会:MM:DD HH:MM:SS格式.我在div中显示日期,如下所示.Div是无序格式,我想先在最新日期对它们进行排序.
<div id="dateDiv">2012-04-15 10:25:45</div>
<div id="dateDiv">2012-04-10 19:41:08</div>
<div id="dateDiv">2012-04-20 07:00:10</div>
<div id="dateDiv">2012-04-12 16:45:50</div>
Run Code Online (Sandbox Code Playgroud)
谢谢
我已经设置了一个jquery类:
$(function() {
$( ".datepickerIT" ).datepicker({
showOtherMonths: true,
selectOtherMonths: true,
showAnim: "clip",
dateFormat: "dd/mm/yy",
minDate: "01/01/1925",
maxDate: "31/12/2050",
changeMonth: true,
changeYear: true,
yearRange: "1925:2050",
regional: "it"
});
});
Run Code Online (Sandbox Code Playgroud)
我想添加一个日期检查控件,如果用户输入不是有效日期,则会发出警报
如何在类".datepickerIT"中添加这样的支票?
onClose: function(dateText, inst) {
try {
$.datepicker.parseDate('dd/mm/yy', dateText);
} catch (e) {
alert(e);
};
Run Code Online (Sandbox Code Playgroud)
什么插件我必须包括在头部?
为什么第一个输入正常工作,但第二个输入在5小时前给出了结果?
new Date("2000-1-1")
Sat Jan 01 2000 00:00:00 GMT-0500 (EST)
new Date("2000-01-01")
Fri Dec 31 1999 19:00:00 GMT-0500 (EST)
Run Code Online (Sandbox Code Playgroud)
我如何让第二个与我合作?
var a = new Date("2000-1-1"); // Sat Jan 01 2000 00:00:00 GMT-0500 (EST)
var b = new Date("2000-01-01"); // Fri Dec 31 1999 19:00:00 GMT-0500 (EST)
console.log(a, a.getTime());
console.log(b, b.getTime());Run Code Online (Sandbox Code Playgroud)
tl; dr - 当我尝试使用YYYY-MM-DD格式的日期字符串创建一个新的Date对象时,它给了我一个不正确的日期(昨天).为什么?
我编写了以下测试代码来帮助我演示我所感知的问题:
var dateConfig = {weekday: "long", year: "numeric", month: "long", day: "numeric"},
dates = [
"01/21/2014",
"01-21-2014",
"2014/01/21",
"2014-01-21"
];
for (var i = 0; i < dates.length; ++ i) {
var date = new Date(dates[i]);
console.log(date.toLocaleDateString("en-US", dateConfig));
}
Run Code Online (Sandbox Code Playgroud)
链接自己查看:http://s.codepen.io/AdrianTP/fullpage/prKyf
Chrome 31.0.1650.63 m在控制台中返回以下内容:
Tuesday, January 21, 2014
Tuesday, January 21, 2014
Tuesday, January 21, 2014
Monday, January 20, 2014
Run Code Online (Sandbox Code Playgroud)
Firefox 26.0在控制台中返回以下内容:
"Tuesday, January 21, 2014"
"Invalid Date"
"Tuesday, January 21, 2014" …Run Code Online (Sandbox Code Playgroud) 我正在按照此示例验证日期字符串。
虽然下面的示例评估为true。
var date = new Date('12/21/2019');
console.log(date instanceof Date && !isNaN(date.valueOf()));
Run Code Online (Sandbox Code Playgroud)
这个下面的例子即使是一个不好的日期也算为true。
var date = new Date('02/31/2019');
console.log(date instanceof Date && !isNaN(date.valueOf()));
Run Code Online (Sandbox Code Playgroud)
有更好的方法吗?
所以基本上我尝试使用addBusinessDays(new Date(), 3)它设置开始日期而不考虑周末。不过,我还需要使用日期列表(假期)。我找不到任何有关如何将这些假期添加到 addBusinessDays 的文档。
我正在使用 date-fns v2+
示例代码:
import { addBusinessDays } from 'date-fns';
const holidays = [
'2019-12-20'
]
console.log(addBusinessDays(new Date(), 3)) // should include holidays => 2019-12-24
Run Code Online (Sandbox Code Playgroud) 我有这样的日期格式"Fri Apr 20 2020 00:00:00 GMT+0530 (India Standard Time)"
我想将上面的格式转换为这种格式2020-04-20T00:00:00.000Z
实际上我JSON.stringify(new Date("Fri Apr 20 2020 00:00:00 GMT+0530 (India Standard Time)"))在使用这个时尝试过这个,我在前一天得到了输出2020-04-19T18:30:00.000Z
所以请有人帮我转换这个日期格式, "Fri Apr 20 2020 00:00:00 GMT+0530 (India Standard Time)"如下所示2020-04-20T00:00:00.000Z
提前致谢。