此代码比较2个时间 - 当前时间和截止时间。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
ViewHolder holder;
if (vi == null) {
vi = LayoutInflater.from(parent.getContext()).inflate(R.layout.offer_list, parent,false);
holder = new ViewHolder();
holder.offertitle = (TextView) vi.findViewById(R.id.ofrtitle);
holder.offermrp = (TextView) vi.findViewById(R.id.offeroriginal);
holder.offerimg = (ImageView) vi.findViewById(R.id.ofr_img);
holder.offersave = (TextView) vi.findViewById(R.id.saveoffer);
holder.ofrprice = (TextView) vi.findViewById(R.id.priceoffer);
vi.setTag(holder);
} else {
holder = (ViewHolder)vi.getTag();
}
holder.offertitle.setText(offer_title[position]);
holder.offermrp.setPaintFlags(holder.offermrp.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
holder.offermrp.setText("Original Price : \u20B9" + mrp[position]);
holder.offersave.setText("You Save : \u20B9" + you_save[position]);
holder.ofrprice.setText("Offer Price : \u20B9" + offerprice[position]);
Glide.with(activity).load(imgURLArray[position]).placeholder(activity.getResources().getDrawable(R.drawable.loadingoffer)).error(activity
.getResources().getDrawable(R.drawable.loadingoffer)).into(holder.offerimg);
return vi;
}
它适用于// Get current date/time
var now = new Date();
// Set up deadline date/time
var deadline = new Date(); //deadline is 1830hrs;
deadline.setHours(18);
deadline.setMinutes(30);
// Check if the current time is after the deadline
if( now > deadline ) {
console.log('after deadline');
}
else {
console.log('before deadline');
}
和now
位于同一时区的本地计算机。如果代码在deadline
时区可能与要比较的now
时区不同的服务器上运行,该怎么办?当deadline
可以是任何时区且now
位于亚洲/香港时区时,如何处理这种情况?
编辑:在创建deadline
时是否有某种方法指定时区?我认为这是一个可能的解决方案。
答案 0 :(得分:1)
截止日期,现在总是在同一时区,因为你new Date()
。
答案 1 :(得分:1)
当你在JS中创建两个时间时,客户端就没有这样的情况。因为两个时间都会从同一个客户端读取时间。
但是,如果在任何情况下,任何时间来自服务器(当然是字符串形式),位于另一个时区,而客户端位于另一个时区,那么这种情况有可能发生。
现在,您接近将两个日期转换为特定时区(任何)。 然后进行比较。
您可以使用This库来转换JS中的时区 并从This Thread获取帮助。
答案 2 :(得分:0)