C# 将格式化日期从WebMethod返回到JSON
我有一个WebMethod,它在日期{“d”:[“/date(1390411800000)/”]返回: 我想将其格式化为“mmmd,yy”(1月22日,14日),并将其返回给调用的AJAX,但不确定最佳方式。以下是我的AJAX:C# 将格式化日期从WebMethod返回到JSON,c#,jquery,ajax,json,C#,Jquery,Ajax,Json,我有一个WebMethod,它在日期{“d”:[“/date(1390411800000)/”]返回: 我想将其格式化为“mmmd,yy”(1月22日,14日),并将其返回给调用的AJAX,但不确定最佳方式。以下是我的AJAX: function getBreadCrumbDate(projectID, statusID) { $.ajax({ url: "view-requests.aspx/getBreadCrumbDate", // Curren
function getBreadCrumbDate(projectID, statusID) {
$.ajax({
url: "view-requests.aspx/getBreadCrumbDate", // Current Page, Method
data: JSON.stringify({
projectID: projectID,
statusID: statusID
}), // parameter map as JSON
type: "POST", // data has to be POSTed
contentType: "application/json", // posting JSON content
dataType: "JSON", // type of data is JSON (must be upper case!)
timeout: 10000, // AJAX timeout
success: function (result) {
$("#divApprovedStatus").html(result.d[0]);
},
error: function (xhr, status) {
alert(status + " - " + xhr.responseText);
}
});
}
现在它打印出/日期(1390411800000)/但需要格式化。是在成功后在jQuery中执行,还是在返回时在C#中执行?无论哪种方式,我都不知道怎么做,可以使用一些指针。
谢谢
它显示了一些红线。。。你想让我告诉你他们说什么吗?
我想说,用C语言使用
ToString([time format])
和正确的格式做这件事最简单
既然你有约会时间?对象,称为可空
,要访问日期时间
值,必须使用日期时间?
的值
属性(所有可空类型
上都存在值
属性)
“2014年1月22日”的格式如下:
以下只是一些语法的通用示例:
// DateTime object
someDateTimeInstance.ToString("MMM d, yy");
// DateTime? object
someNullableDateTimeInstance.Value.ToString("MMM d, yy"); // assumes no nulls
// DateTime? object with null check
String formattedDateTime = (null != someNullableDateTimeInstance
? someNullableDateTimeInstance.Value.ToString("MMM d, yy")
: string.Empty);
此外,您正在使用实体框架将LINQ语句转换为SQL
基本上,您必须首先提取数据,然后对其进行格式化。即使CreateDateTime
是一个Nullable
列,整个表达式都由Linq转换为实体到SQL。而且,Linq转换为实体不知道如何转换方法调用。ToString(字符串格式)
通过将查询与格式调用分离,我们避免了这个问题。您可以从实体获取数据,并调用.ToList()
,这将导致EF将数据加载到内存中。然后,您可以使用包含DateTime?
对象的新列表,并使用ToString(字符串格式)
获取格式化日期的方法
在您的代码中:
[WebMethod]
public static object getBreadCrumbDate(int projectID, int statusID)
{
using (dbPSREntities5 myEntities = new dbPSREntities5())
{
var thisId = myEntities.tbBreadCrumbs.Where(x => x.ProjectID == projectID && x.StatusID == statusID).Max(x => x.BreadCrumbID);
var columns = myEntities.tbBreadCrumbs
.Where(x => x.BreadCrumbID == thisId)
.Select(x => x.CreateDateTime)
.ToList();
var formattedList = columns
.Select(d => null != d
? d.Value.ToString("MMM d, yy")
: string.Empty) // this is just one example to handle null
.ToList();
return formattedList;
}
}
我想说,在C语言中使用
ToString([time format])
和正确的格式是最简单的
由于您有一个DateTime?对象,称为可空
,要访问日期时间
值,必须使用日期时间?
的值
属性(所有可空
类型上都存在值
属性)
“2014年1月22日”的格式如下:
以下只是一些语法的通用示例:
// DateTime object
someDateTimeInstance.ToString("MMM d, yy");
// DateTime? object
someNullableDateTimeInstance.Value.ToString("MMM d, yy"); // assumes no nulls
// DateTime? object with null check
String formattedDateTime = (null != someNullableDateTimeInstance
? someNullableDateTimeInstance.Value.ToString("MMM d, yy")
: string.Empty);
此外,您正在使用实体框架将LINQ语句转换为SQL
基本上,您必须首先提取数据,然后对其进行格式化。即使CreateDateTime
是一个Nullable
列,整个表达式都由Linq转换为实体到SQL。而且,Linq转换为实体不知道如何转换方法调用。ToString(字符串格式)
通过将查询与格式调用分离,我们避免了这个问题。您可以从实体获取数据,并调用.ToList()
,这将导致EF将数据加载到内存中。然后,您可以使用包含DateTime?
对象的新列表,并使用ToString(字符串格式)
获取格式化日期的方法
在您的代码中:
[WebMethod]
public static object getBreadCrumbDate(int projectID, int statusID)
{
using (dbPSREntities5 myEntities = new dbPSREntities5())
{
var thisId = myEntities.tbBreadCrumbs.Where(x => x.ProjectID == projectID && x.StatusID == statusID).Max(x => x.BreadCrumbID);
var columns = myEntities.tbBreadCrumbs
.Where(x => x.BreadCrumbID == thisId)
.Select(x => x.CreateDateTime)
.ToList();
var formattedList = columns
.Select(d => null != d
? d.Value.ToString("MMM d, yy")
: string.Empty) // this is just one example to handle null
.ToList();
return formattedList;
}
}
我想说,在C语言中使用
ToString([time format])
和正确的格式是最简单的
由于您有一个DateTime?对象,称为可空
,要访问日期时间
值,必须使用日期时间?
的值
属性(所有可空
类型上都存在值
属性)
“2014年1月22日”的格式如下:
以下只是一些语法的通用示例:
// DateTime object
someDateTimeInstance.ToString("MMM d, yy");
// DateTime? object
someNullableDateTimeInstance.Value.ToString("MMM d, yy"); // assumes no nulls
// DateTime? object with null check
String formattedDateTime = (null != someNullableDateTimeInstance
? someNullableDateTimeInstance.Value.ToString("MMM d, yy")
: string.Empty);
此外,您正在使用实体框架将LINQ语句转换为SQL
基本上,您必须首先提取数据,然后对其进行格式化。即使CreateDateTime
是一个Nullable
列,整个表达式都由Linq转换为实体到SQL。而且,Linq转换为实体不知道如何转换方法调用。ToString(字符串格式)
通过将查询与格式调用分离,我们避免了这个问题。您可以从实体获取数据,并调用.ToList()
,这将导致EF将数据加载到内存中。然后,您可以使用包含DateTime?
对象的新列表,并使用ToString(字符串格式)
获取格式化日期的方法
在您的代码中:
[WebMethod]
public static object getBreadCrumbDate(int projectID, int statusID)
{
using (dbPSREntities5 myEntities = new dbPSREntities5())
{
var thisId = myEntities.tbBreadCrumbs.Where(x => x.ProjectID == projectID && x.StatusID == statusID).Max(x => x.BreadCrumbID);
var columns = myEntities.tbBreadCrumbs
.Where(x => x.BreadCrumbID == thisId)
.Select(x => x.CreateDateTime)
.ToList();
var formattedList = columns
.Select(d => null != d
? d.Value.ToString("MMM d, yy")
: string.Empty) // this is just one example to handle null
.ToList();
return formattedList;
}
}
我想说,在C语言中使用
ToString([time format])
和正确的格式是最简单的
由于您有一个DateTime?对象,称为可空
,要访问日期时间
值,必须使用日期时间?
的值
属性(所有可空
类型上都存在值
属性)
“2014年1月22日”的格式如下:
以下只是一些语法的通用示例:
// DateTime object
someDateTimeInstance.ToString("MMM d, yy");
// DateTime? object
someNullableDateTimeInstance.Value.ToString("MMM d, yy"); // assumes no nulls
// DateTime? object with null check
String formattedDateTime = (null != someNullableDateTimeInstance
? someNullableDateTimeInstance.Value.ToString("MMM d, yy")
: string.Empty);
此外,您正在使用实体框架将LINQ语句转换为SQL
基本上,您必须首先提取数据,然后对其进行格式化。即使CreateDateTime
是一个Nullable
列,整个表达式都由Linq转换为实体到SQL。而且,Linq转换为实体不知道如何转换方法调用。ToString(字符串格式)
通过将查询与格式调用分离,我们避免了这个问题。您可以从实体获取数据,并调用.ToList()
,这将导致EF将数据加载到内存中。然后,您可以使用包含DateTime?
对象的新列表,并使用ToString(字符串格式)
获取格式化日期的方法
在您的代码中:
[WebMethod]
public static object getBreadCrumbDate(int projectID, int statusID)
{
using (dbPSREntities5 myEntities = new dbPSREntities5())
{
var thisId = myEntities.tbBreadCrumbs.Where(x => x.ProjectID == projectID && x.StatusID == statusID).Max(x => x.BreadCrumbID);
var columns = myEntities.tbBreadCrumbs
.Where(x => x.BreadCrumbID == thisId)
.Select(x => x.CreateDateTime)
.ToList();
var formattedList = columns
.Select(d => null != d
? d.Value.ToString("MMM d, yy")
: string.Empty) // this is just one example to handle null
.ToList();
return formattedList;
}
}
如果您可以使用datepicker,那么您可以定义一个JavaScript函数
getDateFromJson: function(jsonDateString, languageCode) {
return $.datepicker.formatDate($.datepicker.regional[languageCode].dateFormat, new Date(parseInt(jsonDateString.substr(6), 10)));
}
然后您可以为datepicker定义一个i18n文件,如下所示
jQuery(function ($) {
$.datepicker.regional['en-us'] = {
closeText: 'Done',
prevText: 'Prev',
nextText: 'Next',
currentText: 'Today',
monthNames: ['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'],
monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
dayNamesShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
dayNamesMin: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
weekHeader: 'Wk',
dateFormat: 'mm/dd/yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''
};
$.datepicker.setDefaults($.datepicker.regional['en-us']);
});
//German
jQuery(function($){
$.datepicker.regional['de'] = {
closeText: 'schließen',
prevText: '<zurück',
nextText: 'Vor>',
currentText: 'heute',
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
weekHeader: 'KW',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['de']);
});
所以你可以定义你的语言