将数字日期转换为文本日期的效率
Efficiency in converting numeric date to textual
我有一个格式为MM/DD/YYYY的日期。然后我需要使用javascript将其转换为。(更确切的例子:05/25/2012-->"May 252012")我知道如何转换日期,但问题是:
是否有一种更有效的方法,无论是使用javascript函数还是其他方法,将MM/DD/YYYY转换为上述格式,而不是使用switch语句和串联字符串
您可能会发现jQuery UI的Datepicker中的parseDate和formatDate函数很吸引人,例如
var date = $.datepicker.parseDate('mm/dd/yy', '05/25/2012');
$.datepicker.formatDate('MM d yy', date);
这完全取决于你如何定义"高效":
- 代码密度?-这是有效的imho
- 速度和性能?-没有线索
- 本地化?-支持,例如
$(selector).datepicker($.datepicker.regional['fr']);
*
通过访问数组,您可以执行此
var monthArray = ['January', 'February', ... , 'December'];
var date = "05/25/2012";
var dateParts = date.split('/');
var convertedDate = monthArray[parseInt(dateParts[0], 10)] + " " + dateParts[1] + ", " + dateParts[2];
奇怪的是,大约半小时前我刚刚发布了一个相关的问题。这是我正在使用的,但它也解析时间。
// Date m/d/Y Time h:m a
function parseDate(date,time) {
date = date.split("/");
time = time.split(" ");
hm = time[0].split(':');
if (parseInt(hm[0],10) == 12) {
hm[0] = 0;
}
if (time[1] == 'pm') {
hm[0] = parseInt(hm[0],10) + 12;
} else {
hm[0] = parseInt(hm[0],10);
}
return new Date(
parseInt(date[2],10),
parseInt(date[0],10)-1,
parseInt(date[1],10),
hm[0],
parseInt(hm[1],10)
);
}
因此,您可以很容易地删除time
行,并获得以下。。。
function parseDate(date) {
date = date.split("/");
return new Date(
parseInt(date[2],10),
parseInt(date[0],10)-1,
parseInt(date[1],10)
);
}
相关文章:
- 比较从函数和生成的日期对象
- Json数据包含日期和时间格式
- Javascript日期格式类似于ISO,但本地
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何在JavaScript中延长当前日期
- 两位数的月份日期验证
- 更改angularjs中的日期-时间格式
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- NodeJS日期格式不起作用
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 使用当前日期生成随机id
- primefaces日历可以禁用过去的日期和时间吗
- 提前阅读日期
- 在JavaScript中拆分日期字符串的更好方法是什么
- 查找最短和最长日期
- Node.js中的JavaScript原型对象效率
- 将日期和时间转换为UTC格式的日期-Javascript
- 将数字日期转换为文本日期的效率