这里我有一个有趣的问题…!
我的网站是创建在银光。当我在Windows操作系统中从日期选择器中选择日期时,它可以很好地使用MM/DD/YYYY格式。但是当在Mac OS上使用相同的日期选择器时,它会将格式更改为DD/MM/YYYY。当我使用从字符串到日期的解析时,它会抛出类型为"Bad_DateTime_Format"的异常。
这种奇怪行为的原因是什么?
经过一些奇怪的尝试,我终于找到了解决方案,或者你可以说是围绕这个问题的工作。你所要做的就是在系统首选项中更改MAC上的日期格式。
在我的例子中,我希望MM/DD/YYYY作为输入格式。所以,我在我的MAC机器上设置了MM/DD/YYYY格式,它正在按预期工作…!!:)
发生的原因
以特定的方式编码时,考虑用户访问网站的体验是很重要的。
在本例中,您希望使用美国日期格式(MM/DD/YYYY)对网站进行编码,但在处理欧式日期格式DD/MM/YYYY时收到错误
如果你在英国,你看到的日期显示为MM/DD/YYYY,如果你看到03/10/2018,你很容易混淆
今天是3月10日还是10月03日?
因此,为了防止网站之间、网站作者之间的不一致,日期表示格式取自操作系统或浏览器,以便用户始终知道正在使用的日期格式,并且习惯了。
解决方案:将时间转换为UNIX时间戳(seconds passed from: 00:00:00 on 01/01/1970)
的例子:
JS:
var intCurrentUnixTimeStamp = Date.now();
(日期。now = Tue Feb 27 2018 12:15:21 GMT+0000 (GMT标准时间))
输出:1519733721
var intUnixTimeStamp =日期。parse(" 10-03-2018 08:18:48")/1000;
输出:1520669928
您可以始终使用UNIX,甚至将其存储在数据库中,并将其从UNIX恢复到可读的时间,例如