在javascript中转换字符串日期
converting string dates in javascript
我一直在使用CSV文件,其中一些文件包含日期,现在我想将它们存储在数据库中,但是我面临一个问题。
我有这样一个日期:2016年2月10日而它是这样的:10-02-2016
但到目前为止我一直在尝试使用日期。解析函数给出了一些不同的东西这是我尝试使用的代码
var d = '13-jan-2016';
var e = Date.parse('13-jan-2016')
var m = new Date( e).toISOString()
console.log(m)
我也尝试过使用分割函数,但仍然有一些数字,我不明白为什么他们在那里或我缺乏理解,当它涉及到javascript的parse()函数
您可以使用日期库,比如广受喜爱的MomentJS,或者您可以自己编写一两个简单的函数来处理它,就像这样:
function zeroPad(v) {
return v >= 10 ? v : "0" + v;
}
function formatDate(s) {
var d = new Date(Date.parse('13-jan-2016'));
return zeroPad(d.getDate()) + "-" + zeroPad(d.getMonth() + 1) + "-" + d.getFullYear();
}
console.log(formatDate('13-jan-2016')); // '13-01-2016'
…除了Jaromanda X指出,Date.parse()
在某些(大多数)浏览器中无法可靠地处理特定格式(尽管它在Chrome中对我来说工作得很好)。鉴于您似乎没有实际使用日期作为日期,您只是将其从一种已知格式转换为另一种格式,您可以做以下操作,即使在旧的浏览器中也可以工作,如IE<9,根本不支持Date.parse()
:
function formatDate(s) {
var months = { 'jan': '01', 'feb': '02', 'mar': '03', 'apr': '04', 'may': '05', 'jun': '06', 'jul': '07', 'aug': '08', 'sep': '09', 'oct': '10', 'nov': '11', 'dec': '12' };
return s.replace(/[a-z]{3}/i, function(m) { return months[m.toLowerCase()]; });
}
console.log(formatDate('13-jan-2016')); //
console.log(formatDate('02-apr-2016')); //
console.log(formatDate('25-DEC-2016')); //
我想建议一个方便的第三方http://momentjs.com/docs/#/parsing/string-format,有了这个库,它可以这样做:
moment('13-jan-2016', 'DD-MMM-YYYY').format('DD-MM-YYYY')
您正在寻找的不是真正的ISO字符串。如果你不想使用图书馆,我认为这是你最好的选择。来源:http://www.w3schools.com/jsref/jsref_getmonth.asp' ' '
var month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
var date = new Date('13-jan-2016')
var str = date.getDate() + '-' + month[date.getMonth()] + '-' + date.getFullYear()
' ' '
如果期望的输入字符串格式是相同的'13-Jan-2016'下面是一个例子
var dateString = '13-Dec-2015';
var date = new Date(dateString);
var month = date.getMonth() + 1;
month = ('0' + month).slice(-2);
var dateArray = dateString.split('-');
date = dateArray[0]+'-'+month+'-'+dateArray[2];
console.log(date); //13-12-2016
相关文章:
- 如何在 java 脚本中将字符串日期转换为 GMT
- 如何用字符串日期填充日期选择器表单
- 比较两个 JavaScript 字符串日期
- 解析字符串日期
- 分析具有不同时区的字符串日期
- 在 Javascript 中将字符串日期 YYYY-MM 转换为日期
- pickadate.js-3.5.3 将字符串日期转换为 mysql DATE 的正确格式
- 使用javascript jquery或css格式化字符串日期
- Javascript |字符串日期格式设置为2014年6月4日至2014年06月4日
- 字符串日期到unix时间戳
- *javascript*将字符串日期转换为UTC日期
- 如何拆分字符串(日期),以不同的字符分隔
- 如何格式化JavaScript长字符串日期
- 如何使用 Ajax 控件工具包 (CalendarExtender) 验证字符串日期
- 在javascript中转换字符串日期
- 如何在ASP中转换DateTime形式的字符串日期.净c#
- 将JSON字符串日期转换为JavaScript (Google Apps Script)
- 将javascript的字符串日期时间转换为c#的日期时间
- 在javascript中转换字符串日期到日期时间,如何处理日期格式
- 如何将JSON字符串日期转换为自定义格式日期