我正在使用jQuery 在Ajax上进行第一次破解.我将数据放到我的页面上,但是我在为Date数据类型返回的JSON数据方面遇到了一些麻烦.基本上,我得到的字符串看起来像这样:
/Date(1224043200000)/
Run Code Online (Sandbox Code Playgroud)
从全新的人到JSON - 如何将其格式化为短日期格式?这应该在jQuery代码中的某个地方处理吗?我试过使用jQuery.UI.datepicker插件$.datepicker.formatDate()没有任何成功.
仅供参考:以下是我提出的解决方案:
function getMismatch(id) {
$.getJSON("Main.aspx?Callback=GetMismatch",
{ MismatchId: id },
function (result) {
$("#AuthMerchId").text(result.AuthorizationMerchantId);
$("#SttlMerchId").text(result.SettlementMerchantId);
$("#CreateDate").text(formatJSONDate(Date(result.AppendDts)));
$("#ExpireDate").text(formatJSONDate(Date(result.ExpiresDts)));
$("#LastUpdate").text(formatJSONDate(Date(result.LastUpdateDts)));
$("#LastUpdatedBy").text(result.LastUpdateNt);
$("#ProcessIn").text(result.ProcessIn);
}
);
return false;
}
function formatJSONDate(jsonDate) {
var newDate = dateFormat(jsonDate, "mm/dd/yyyy");
return newDate;
}
Run Code Online (Sandbox Code Playgroud)
此解决方案从回调方法获取我的对象,并使用日期格式库正确显示页面上的日期.
如何格式化要打印的JavaScript日期对象10-Aug-2010?
我有SimpleDateFormat构造函数
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
Run Code Online (Sandbox Code Playgroud)
我正在解析字符串 "2013-09-29T18:46:19Z".
我读过这里Z表示GMT/UTC时区.但是当我在控制台上打印这个日期时,它会为返回的日期打印IST timezne.
现在我的问题是我的输出是对还是错?
为什么python 2.7在UTC日期时间对象的isoformat字符串末尾不包含Z字符(Zulu或零偏移量)?
>>> datetime.datetime.utcnow().isoformat()
'2013-10-29T09:14:03.895210'
Run Code Online (Sandbox Code Playgroud)
而在javascript中
>>> console.log(new Date().toISOString());
2013-10-29T09:38:41.341Z
Run Code Online (Sandbox Code Playgroud) 我遇到了WCF REST服务的问题.我尝试返回的wire对象具有未设置的某些属性,导致DateTime.MinValue为DateTime类型的属性.该服务返回一个空文档(HTTP状态为200 ???).当我尝试自己调用JSON序列化时,抛出的异常是:
SerializationException:转换为UTC时,大于DateTime.MaxValue或小于DateTime.MinValue的DateTime值无法序列化为JSON.
这可以通过在控制台应用程序中运行以下代码来重现:
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(DateTime));
MemoryStream m = new MemoryStream();
DateTime dt = DateTime.MinValue;
// throws SerializationException in my timezone
ser.WriteObject(m, dt);
string json = Encoding.ASCII.GetString(m.GetBuffer());
Console.WriteLine(json);
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我认为这与我的时区(GMT + 1)有关.由于DateTime.MinValue是默认值(DateTime),我希望这可以没有问题地序列化.
有关如何使我的REST服务行为的任何提示?我不想改变我的DataContract.
当我尝试JSON编码NSDate对象时,我得到了这个异常.我相信NSDate与JSON编码不兼容.但我必须编码日期.任何解决方案?
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__NSDate)'
Run Code Online (Sandbox Code Playgroud) 我试图了解 UTC 和 ISO 格式之间的区别以及在服务器之间传输消息时何时使用什么。所以当我尝试以下这就是我得到的
new Date().toISOString()
"2019-11-14T00:55:31.820Z"
new Date().toUTCString()
"Thu, 14 Nov 2019 00:55:16 GMT"
Run Code Online (Sandbox Code Playgroud)
我了解 ISO 格式及其用于表示时间的标准,但 UTC 的目的是什么,我将在哪里使用它们?
我是JSON的新手,在审查JSON规范时,我注意到日期和时间没有数据类型.我做了一些研究,并提出了一些建议,其中一个是使用UNIX时间戳.这是最简单的方法吗?我会遇到任何问题吗?
我有一个具有以下结构的模型
public class OfferModel {
private String mImageUrl;
private String mOfferCode;
private String mOfferTitle;
private String mOfferDescription;
private boolean mIsRunning;
private String mCreatorUid;
private Date mStartDate;
}
Run Code Online (Sandbox Code Playgroud)
其他一切在保存方面都很好.它将Firebase实时数据库保存为
startDate
date: 22
day: 3
hours: 23
minutes: 20
month: 5
seconds: 50
time: 1466617850476
timezoneOffset: -330
year: 116
Run Code Online (Sandbox Code Playgroud)
但是当我尝试检索它时,日期会出现以下错误 -
java.lang.ClassCastException: java.util.HashMap cannot be cast to java.util.Date
at com.localvine.models.OfferModel.<init>(OfferModel.java:37)
at com.localvine.managers.OfferManager$1.onDataChange(OfferManager.java:62)
at com.google.android.gms.internal.zzafp.zza(Unknown Source)
at com.google.android.gms.internal.zzagp.zzSu(Unknown Source)
at com.google.android.gms.internal.zzags$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:615)
Run Code Online (Sandbox Code Playgroud)
我了解Firebase不支持Java Date对象,但由于它将它们保存在地图中,我该如何从该地图中取回日期?有没有在Firebase Android中保存和检索日期的正确方法?