使用子字符串格式化JavaScript日期

时间:2016-08-23 06:39:43

标签: javascript jquery

以下方法以此格式<field name="search_all" class="solr.TextField" indexed="true"/> <field name="A1" class="solr.StrField" indexed="false"/> <field name="A2" class="solr.StrField" indexed="false"/> <field name="B1" class="solr.StrField" indexed="false"/> <field name="B2" class="solr.StrField" indexed="false"/> <copyField source="A1" dest="search_all"/> <copyField source="A2" dest="search_all"/> <copyField source="B1" dest="search_all"/> <copyField source="B2" dest="search_all"/> 将日期发送到文本框。 所以我尝试使用substring方法以这种格式Wed Sep 14 2016 00:00:00 GMT+0400

获取日期

我在下面的代码中试过但它没有用

它会返回此错误Sep 14 2016

Uncaught TypeError: date.substring is not a function

2 个答案:

答案 0 :(得分:3)

使用Array.prototype.slice功能。

var date = 'Wed Sep 14 2016 00:00:00 GMT+0400';
var formatted = date.split(' ').slice(1, 4).join(' ');

您收到错误,因为date.constructorDate函数,而不是String。要将其转换为字符串,您可以使用date.toString()date + ''。将其转换为字符串后,您可以调用date.substr(4, 11)。请注意,如果您键入12而非11,则最后会有额外的空格。

此外,substrsubstring之间存在差异。第一个需要字符串的开始位置和长度,而第二个需要字符串的开始位置和结束位置。

答案 1 :(得分:1)

您必须将日期转换为字符串,然后使用子字符串

像这样

$('#<%= txtdate.ClientID %>').val(date.toString().substring(4, 12));