我使用以下代码片段将Date对象转换为字符串。
var startDate = new Date();
var result = Globalize.parseDate(startDate, "MM/DD/YYYY");
但它将返回null值。如何将Date对象转换为字符串特定格式?
答案 0 :(得分:4)
要了解所有可能的方法,请检查 this link 。
我已将所有<strong> DEMOS here...
<script type="text/javascript">
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months start with zero
var curr_year = d.getFullYear();
document.write(curr_month + "/" + curr_date + "/" + curr_year);
</script>
<强> Download here... 强>
<script>
var a = moment([2010, 1, 14, 15, 25, 50, 125]);
a.format("MM/DD/YYYY,");
</script>
不想下载,只需添加以下行:
<script src="http://momentjs.com/downloads/moment.min.js"></script>
$.datepicker.formatDate('yy-mm-dd', new Date(2007, 1 - 1, 26));
var d1=new Date();
d1.toString('MM-dd-yyyy');
var startDate = new Date();
var result = Globalize.format(startDate, "MM/DD/YYYY");
答案 1 :(得分:3)
我假设您使用 Globalize 。
您应该做的是格式化日期,而不是解析日期。
var startDate = new Date();
var result = Globalize.format(startDate, "MM/DD/YYYY");
答案 2 :(得分:2)
您只需使用
即可var startDate = new Date();
alert((startDate .getMonth() + 1) + '/' + startDate .getDate() + '/' + startDate .getFullYear());
答案 3 :(得分:1)
试试这个:
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();
document.write(curr_date + "-" + curr_month + "-" + curr_year);
参考: Where can I find documentation on formatting a date in JavaScript?
答案 4 :(得分:1)
MomentJS有一套非常强大的时间格式选项,您可以使用它们。
以下是如何在您的案例中使用
的示例moment(stateDate).format("MM/DD/YYYY");
答案 5 :(得分:0)
此函数将日期对象作为参数,并以MM/DD/YYYY
格式返回字符串:
function format(date) {
return [
('0' + (date.getMonth() + 1)).slice(-2),
('0' + date.getDate()).slice(-2),
date.getFullYear()
].join('/')
}
用法示例(以MM/DD/YYYY
格式提供今天的日期):
format(new Date) // "01/03/2014"
您可以通过一些修改轻松更改结果格式:
function format(date) {
return [
date.getDate(),
date.getMonth() + 1,
('' + date.getFullYear()).slice(-2)
].join('-')
}
用法示例(以D-M-YY
格式提供今天的日期):
format(new Date) // "3-1-14"
我已经调整了一下这个函数,这对于非常基本的需求可能很有趣:)
function format(date, format) {
var i = 0, bit;
if (!format) format = 'MM/DD/YYYY'; // default
format = format.split(/([^DMY]+)/i);
while (bit = format[i]) {
switch (bit.charAt(0).toUpperCase()) {
case 'D': format[i] = date.getDate(); break;
case 'M': format[i] = date.getMonth() + 1; break;
case 'Y': format[i] = date.getFullYear(); break;
}
if (bit.length === 2) {
format[i] = ('0' + format[i]).slice(-2);
}
i += 2;
}
return format.join('');
}
用法示例:
format(new Date) // "01/03/2014" (default)
format(new Date, 'd/m/y') // "3/1/2014"
format(new Date, 'D/M/Y') // "3/1/2014"
format(new Date, 'DD-MM-YY') // "03-01-14"
format(new Date, 'M/YY') // "1/14"