C#时间重合判断,重合有4种情况,有没有列子?

C#时间重合判断,重合有4种情况,前半段重合 后半段重合 中间重合 当前时间是另一个时间端的中间有没有列子?

c#

4个回答

这很好理解
设dt1s为第一开始时间 dt1e为第一结束时间 dt2s为第二开始时间 dt2e为第二结束时间
前半段重合 = dt1s > st2s && st2e > dt1e
后半段重合 = dt2s > st1s && st1e > dt2e
中间重合 = dt2s > dt1s && dt2e < dt1e
前时间是另一个时间段中间 = dt2s < dt1s && dt2e > dt1e

对一个日期,你可以ToString("yyyy-MM-dd"),这样你可以格式化成任意格式,作比较就行了,判断是否在日期段中间,可以用TimeSpan,用两头的日期分别和你的日期相减,然后根据天数还是小时数等信息自己判断两个结果是否相等

日期相互比较,不需要那么复杂吧。

 DateTime dt = DateTime.Now;
                if (dt.Hour == 18 && dt.Minute > 0)
                {
                    //do something
                }

用ksoap2-android-assembly-2.5.4-jar-with-dependencies.jar这个

    static String doMethodonServer(String methodname, Object[] argObjects) {
        HttpTransportSE htse = new HttpTransportSE(wsdlUriString);
        htse.debug = true;
        // 2.使用SOAP1.1协议创建Envelope对象
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        // 3.创建SoapObject对象,该对象需要传入Web Service的命名空间、方法名
        SoapObject request = new SoapObject(nameSpace, methodname);
        // 4.设置传给WebService的参数
        if (argObjects != null && argObjects.length > 0) {
            for (int i = 0; i < argObjects.length; i++) {
                request.addProperty("arg" + i, argObjects[i]);
            }
        }
        // 5.将SoapObject设置为Envelope的传出SOAP消息体
        envelope.bodyOut = request;

        try {
            htse.call(null, envelope);
            if (envelope.getResponse() != null) {
                return envelope.getResponse().toString();
            }

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问