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

oky*_*eni 79 javascript jquery momentjs

我需要从jquery datepicker获取日期值将其转换为字符串格式"MM/dd/yyyy",以便它可以做正确的ajax帖子.当页面加载或更改datepicker时,会进行jquery ajax调用.

我有这个代码:

var sTimestamp =
moment($("#start_ts").datepicker("getDate")).format("MM/dd/yyyy");
Run Code Online (Sandbox Code Playgroud)

但它并没有把它变成"MM/dd/yyyy".当我使用小提琴手检查线下发送的是什么时,这就是身体:

startTimestamp=03%2FTh%2Fyyyy&endTimestamp=03%2FTh%2Fyyyy&pageSize=50&pageNum=0
Run Code Online (Sandbox Code Playgroud)

如果我在fiddler中使用compose并将body更改为:

startTimestamp=03/13/2013&endTimestamp=03/14/2013&pageSize=50&pageNum=0
Run Code Online (Sandbox Code Playgroud)

我得到了正确的答复.所以,我的问题是,是否有办法使用moment.js获取日期对象并将其格式化为字符串"MM/dd/yyyy"?或者从datepicker获取日期的方式有问题吗?

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

谢谢,

小智 98

StartDate = moment(StartDate).format('MM-YYYY');
Run Code Online (Sandbox Code Playgroud)

...和MySQL日期格式:

StartDate = moment(StartDate).format('YYYY-MM-DD');
Run Code Online (Sandbox Code Playgroud)

  • MySQL 日期格式 (YYYY-MM-DD) 也可以按字母数字排序,它可以在文件名中用于对文件进行排序,它清晰易读(不像 dd/mm 和 mm/dd 那样混淆)、ISO 8601 和几乎只有理智的格式。“01/02/2016”只是……“什么?你来自哪里?他们在那里使用什么日期格式?” ;) (3认同)

Rob*_*bie 63

我认为你在格式字符串中只有不正确的大小写.根据文档,这应该适合您:MM/DD/YYYY

moment.js文档


Jac*_*ack 8

试试这个:

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

var yourDate = momentObj.format('L');
Run Code Online (Sandbox Code Playgroud)


小智 8

.format('MM/DD/YYYY HH:mm:ss')
Run Code Online (Sandbox Code Playgroud)


Hit*_*ahu 8

用:

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

其他支持格式供参考:

月份:

1 2 ... 11 12

1 日 2 日 ... 11 日 12 日

毫米 01 02 ... 11 12

MMM 一月二月 ... 十一月 十二月

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

日:

d 0 1 ... 5 6

0th 1st ... 5th 6th

dd 苏沫 ... Fr Sa

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

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

年:

YY 70 71 ... 29 30

YYYY 1970 1971 ... 2029 2030

1970 1971 ... 9999 +10000 +10001