Javascript 如何解析年份字符串到零时间的日期
Javascript how to parse year String to date with zero time
我想解析'2015'
字符串以Date
问题是由于冬季时间和时区而调整一小时。是否有可能获得:
Fri Jan 01 2010 00:00:00
当我做new Date("2010")
或moment("2010")
在以下情况下:
Fri Jan 01 2010 01:00:00 GMT+0100 (W. Europe Standard Time)
我希望总是00:00
小时。
编辑
未提及:就我而言,我不知道我以哪种格式获得日期字符串。 它可以是year
、year month
、year month day hours
等。我要问的是迄今为止如何格式化字符串,所有未知值将是:01 for days and months
、00 for hours and minutes
。
您可以在 Date 构造函数中设置此信息,如下所示:
new Date(2010, 0); // params: year, month
或者,如果您需要从字符串创建日期:
var year = "2010";
new Date(parseInt(year), 0);
new Date(year + "-01-01");
使用moment
您可以拥有:
moment("2015", "YYYY");
// 2015-01-01T00:00:00+01:00
如果您需要使用当地时间,而如果您想使用 UTC,您可以:
moment.utc("2015", "YYYY");
// 2015-01-01T00:00:00+00:00
评论后编辑:
您可以使用一系列格式使用时刻解析:
var s = "2015";
moment(s, ["YYYY", "YYYY MMMM"]); // 2015-01-01T00:00:00+01:00
moment.utc(s, ["YYYY", "YYYY MMMM"]); // 2015-01-01T00:00:00+00:00
s = "2010 February";
moment(s, ["YYYY", "YYYY MMMM"]); // 2010-02-01T00:00:00+01:00
moment.utc(s, ["YYYY", "YYYY MMMM"]); // 2010-02-01T00:00:00+00:00
编辑#2使用moment
,您可以使用:
moment(s, ["YYYY MM DD HH:mm:ss", "YYYY MMMM DD HH:mm:ss"]);
例如:
function testMoment(s){
var d = moment(s, ["YYYY MM DD HH:mm:ss", "YYYY MMMM DD HH:mm:ss"]);
console.log( d.format() );
}
testMoment("2010"); // 2010-01-01T00:00:00+01:00
testMoment("2010 02"); // 2010-02-01T00:00:00+01:00
testMoment("2010 Feb"); // 2010-02-01T00:00:00+01:00
testMoment("2010 February"); // 2010-02-01T00:00:00+01:00
testMoment("2010 02 03"); // 2010-02-02T00:00:00+01:00
testMoment("2010 Feb 03"); // 2010-02-03T00:00:00+01:00
testMoment("2010 Feb 3"); // 2010-02-03T00:00:00+01:00
testMoment("2010 February 03"); // 2010-02-03T00:00:00+01:00
testMoment("2010 February 3"); // 2010-02-03T00:00:00+01:00
testMoment("2010 02 03 04"); // 2010-02-03T04:00:00+01:00
// etc...
您可以为此创建一个包装器。
注意:当你做new Date()
时,你也会得到time
,但是当像new Date(yyyy,mm,dd)
一样完成时,不会增加时间,时间总是00:00:00
function createYearStartDate(year){
return new Date(year, 0,1);
}
(function(){
var d1 = createYearStartDate("2010")
console.log(d1)
})()
相关文章:
- Java脚本时间添加
- Json数据包含日期和时间格式
- 如何根据时间运行不同的脚本
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 在wordpress一定时间后更改自定义字段
- 更改angularjs中的日期-时间格式
- 将当前时间添加到我的页面上的特定部分
- 门户网站:当地时间有多有用
- 显示时间的脚本
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 通过JSON&比较时间
- Javascript时间轨迹
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- 高库存时期时间与时区不匹配
- Jquery如何检查今天的时间大于使用给定时间
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- primefaces日历可以禁用过去的日期和时间吗
- Chrome浏览器用删除T的格式设置日期和时间,当时间为零时,其他答案不起作用
- 当时间接近零时,通过改变计时器的颜色或动画通知用户