NSDateFormatter输出从iPadOS 13到14的差异

问题描述

在iPadOS 13上,当用户将“ 24小时制”设置为FALSE时,以下代码将产生以下输出:

代码:

final String MovieMuamala = movieMuamala.getText().toString().trim();
            Muamala.addValueEventListener(new ValueEventListener() {
                @RequiresApi(api = Build.VERSION_CODES.O)
                @Override
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                    String pass = snapshot.child("muamala").getValue().toString();

                    if(MovieMuamala.equals(pass)) {



                        Toast.makeText(MovieDetails.this,"Pass Matched",Toast.LENGTH_LONG).show();
                        successNotification();


                        TextView subText = findViewById(R.id.sub_txt);
                        subText.setText(MovieMuamala);

                        
                    } else if (!MovieMuamala.equals(pass)){
                        Toast.makeText(MovieDetails.this,"Your Muamala Did not Match In Our Database",Toast.LENGTH_LONG).show();
                        
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError error) {

                }
            });

输出:

+ (NSString *)dateStringFromDate:(NSDate *)date {
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
    return [dateFormatter stringFromDate:date];
}

但是,在iPadOS 14上,相同的代码会产生以下输出:

2020-10-19T11:55:29Z

注意:在两个操作系统上,“ 24小时制”切换都设置为FALSE。出于某种原因,iPadOS 14似乎遵循NSDateFormatter中的AM / PM设置,但iPadOS 13则不这样做。

我知道将语言环境设置为此将完全删除AM / PM:

2020-10-19T12:38:06 p.m.Z

但是,我们试图理解为什么在iPad设置完全相同的情况下仅在iPadOS 14而不是13上出现问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)