使用moment.js将日期转换为字符串“ MM / dd / yyyy”


89

我需要从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

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

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

谢谢,

Answers:



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

...和MySQL日期格式:

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

2
MySQL日期格式(YYYY-MM-DD)也是字母数字可排序的,它可以用于文件名中的文件排序,其清晰易读(像dd / mm和mm / dd一样不会引起混淆),ISO 8601和几乎只有理智的格式。“ 01/02/2016”只是...“什么?您来自哪里?他们在这里使用什么日期格式?” ;)
Tedd Hansen

8

试试这个:

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

var yourDate = momentObj.format('L');

7

使用:

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

其他受支持的格式以供参考:

月份:

中号 1 2 ... 11 12

1st 2nd ... 11th 12th

MM 01 02 ... 11 12

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

MMMM 1月2月... 12月11日

天:

d 0 1 ... 5 6

0th 1st ... 5th 6th

dd Su Mo ... Fr Sa

ddd Sun Mon ...周五星期六

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

年:

YY 70 71 ... 29 30

YYYY 1970 1971 ... 2029 2030

1970 1971 ... 9999 +10000 +10001


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.