110

我需要从 jquery datepicker 中获取日期值,将其转换为字符串格式“MM/dd/yyyy”,以便它可以执行正确的 ajax 发布。当页面加载或更改日期选择器时,将进行 jquery ajax 调用。

我有这个代码:

var sTimestamp =
moment($("#start_ts").datepicker("getDate")).format("MM/dd/yyyy");

但它不会把它变成“MM/dd/yyyy”。当我使用提琴手检查发送的内容时,这是正文:

startTimestamp=03%2FTh%2Fyyyy&endTimestamp=03%2FTh%2Fyyyy&pageSize=50&pageNum=0

如果我在提琴手中使用 compose 并将正文更改为:

startTimestamp=03/13/2013&endTimestamp=03/14/2013&pageSize=50&pageNum=0

我得到了正确的回应。所以,我的问题是,有没有办法使用 moment.js 获取日期对象并将其格式化为字符串“MM/dd/yyyy”?还是我从 datepicker 获取日期的方式有问题?

顺便说一句,我假设 datepicker.getDate 返回一个日期对象,因为这是 jQuery 文档告诉我的。

谢谢,

4

5 回答 5

139
StartDate = moment(StartDate).format('MM-YYYY');

...和 ​​MySQL 日期格式:

StartDate = moment(StartDate).format('YYYY-MM-DD');
于 2014-03-29T06:48:34.270 回答
80

我认为您只是格式字符串中的大小写不正确。根据文档,这应该对您有用:MM/DD/YYYY

moment.js 文档

于 2013-03-14T14:24:18.640 回答
9

试试这个:

var momentObj = $("#start_ts").datepicker("getDate");

var yourDate = momentObj.format('L');
于 2013-03-14T14:23:58.083 回答
9
.format('MM/DD/YYYY HH:mm:ss')
于 2018-06-19T18:18:18.427 回答
9

采用:

date.format("MM/DD/YYYY") 或 date.format("MM-DD-YYYY")}

其他支持的格式供参考:

月份:

1 2 ... 11 12

1 日 2 日 ... 11 日 12 日

毫米 01 02 ... 11 12

MMM 1 月 2 月 ... 11 月 12 月

MMMM 一月 二月 ... 十一月 十二月

天:

d 0 1 ... 5 6

第 0 次第 1 次 ... 第 5 次第 6

dd Su Mo ... Fr Sa

ddd 周日 周一 ... 周五 周六

dddd 星期日 星期一 ... 星期五 星期六

年:

70 71 ... 29 30

年年 1970 年 1971 年 ... 2029 年 2030 年

1970 1971 ... 9999 +10000 +10001

于 2018-12-14T13:28:48.030 回答