【发布时间】:2015-05-13 03:58:03
【问题描述】:
我正在为 javaScript 替换和日期而苦苦挣扎。
简而言之,我有一个包含日期的字符串。我需要用新格式化的日期替换该日期,同时保留字符串。
var d1 = 'We met on 2014-02-20';
var d2 = 'I saw you again on Thursday, June 05, 2012';
var d3 = 'We had a great day on 2/15/2013';
var d4 = 'On March 07, 2015 we had to go to school';
var d5 = 'The vacation is between 1/1/15 and 1/2/15';
我需要的是在所有这些行中获得一个标准日期,但每个解决方案都只是提取日期并打印它。我发现的最好的文章涉及 JQUERY UI [var dt1 = $.datepicker.formatDate('D, d M yy', new Date(d1));],效果很好,但它会从字符串中删除日期,我只剩下日期。
我想要实现的是这样的:
var d1 = 'We met on 2014-02-20';
var d2 = 'I saw you again on Thursday, June 05, 2012';
var d3 = 'We had a great day on 2/15/2013';
var d4 = 'On March 07, 2015 we had to go to school';
到
print_date_str(d1);
我们在 2014 年 2 月 20 日星期一
见过面print_date_str(d2);
我在 2012 年 6 月 5 日星期四再次见到你
print_date_str(d3);
我们在 2013 年 2 月 15 日星期日
度过了愉快的一天print_date_str(d4);
2015 年 3 月 7 日星期五我们不得不去上学
print_date_str(d5);
'假期在 2015 年 1 月 1 日星期二和 2015 年 1 月 2 日星期三之间'
这是一个显示 Jquery UI 日期格式的 JSFIDDLE:http://jsfiddle.net/k7qrw8o7/1/
非常感谢您的指导和帮助。
【问题讨论】:
-
你能举个完整的例子吗?你如何使用日期选择器?您希望使用“假期在 1/1/15 和 1/2/15 之间”这样的字符串会发生什么?
-
是否假定变量将包含文本而不仅仅是日期?如果是这样,那就更难了,因为您必须通过文本查看日期格式,并且考虑到您拥有如此广泛的日期格式,这可能会让人头疼。如果我们可以假设字符串只有一个日期,这将由 Javascript 的
Date()对象处理。 -
@Amit - 我在您的评论中添加了一个示例 (d5)。
-
只需将日期作为单独的变量,转换它们,然后将它们连接到字符串中。否则,您将需要一些不太可能适用于所有情况的复杂正则表达式来查找和替换日期。
-
@ThoughtSpaceDesigns - Jquery UI datepicker 接缝处理在字符串中查找 RFC 日期,但它只是删除了文本的其余部分。所以在某种程度的正则表达式中一定是可能的,挖掘 JQUERY UI 代码接缝是徒劳的(我试过了)。
标签: javascript date