2013-03-14 311 views
46

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

我有这样的代码:

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

但它并不把它变成 “MM/DD/YYYY”。当我使用Fiddler检查什么是唐氏线路发送,这是身体:

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

如果我使用小提琴手撰写并更改身体:

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

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

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

谢谢

回答

5

试试这个:

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

var yourDate = momentObj.format('L'); 
46
StartDate = moment(StartDate).format('MM-YYYY'); 

...和MySQL日期格式:

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

MySQL的日期格式(YYYY-MM-DD),也是字母数字它可以用于文件名排序文件,其清晰和人性化的可读性(不像dd/mm和mm/dd那样混乱),ISO 8601和几乎唯一的理智格式。 “01/02/2016”只是...“什么?你来自哪里?他们在那里使用什么日期格式?” ;) – 2016-02-11 12:11:49