这个JavaScript时区函数能最好地转换为Java双原语吗?
我需要将客户端大小上的JavaScript tz_offset
变量传递给服务器端的Java tzOffset
tz_offset
计算如下:
time: function(){
var d1 = new Date(), d2 = new Date();
d1.setMonth(0); d1.setDate(1); d2.setMonth(6); d2.setDate(1);
return({tz_offset: -(new Date().getTimezoneOffset()) / 60, observes_dst: (d1.getTimezoneOffset() !== d2.getTimezoneOffset()) });
}
表示偏移量的最佳Java原语数据类型是什么?字符串,双精度还是整数
我最好的猜测是double
,但我担心异常值可能无法表示为double
现在我把它作为一个字符串,因为这似乎更安全,但并不理想
# 1 楼答案
在Java中,大多数日期都存储为长值。由于它们表示自Unix纪元以来的时间(以毫秒为单位),因此不需要浮点精度(双精度浮点),但需要的位数比整数所能提供的位数多
所以,我会选择Long,除非您担心来自javascript代码的非数值,而是希望使用字符串并在服务器端执行到数值的转换