美文网首页
日期转周,周转日期

日期转周,周转日期

作者: 一念飘过 | 来源:发表于2021-08-10 08:46 被阅读0次

 @objcpublicclassfuncexWeekSunTime(weekSuntime:String) ->String{

        //转换字符串转换供UI显示

        ifweekSuntime.count>=14{

            varresult =""

            letitems = weekSuntime.components(separatedBy:" ")  //根据空格分开

            letfrontItem = items[0]

            letfirstItem = frontItem[0..<2]  //月份

            let monthArray = ["Jan ","Feb ","Mar ","Apr ","May ","Jun ","Jul ","Aug ","Sep ","Oct ","Nov ","Dec "]

            ifletmonthIndex =Int(firstItem),1<=monthIndex,monthIndex<=12{

                result.append(monthArray[monthIndex-1])

            }

            letsecontItem = frontItem[3..<5]//第几周

            letweakNumberArray = ["1st ","2nd ","3rd ","4th ","Last "]

            ifletweakIndex =Int(secontItem),1<=weakIndex,weakIndex<=4{

                result.append(weakNumberArray[weakIndex-1])

            }elseifletweakIndex =Int(secontItem),weakIndex==-1{

                result.append(weakNumberArray[4])

            }

            letthirdItem = frontItem[6..<8]//礼拜几

            let dayArray = ["Sun ", "Mon ","Tue ","Wed ","Thu ","Fri ","Sat "]

            ifletdayIndex =Int(thirdItem),0<=dayIndex, dayIndex<=6{

                result.append(dayArray[dayIndex])

            }

            //后半截取前五位

            varformatItem = items[1]

            formatItem = formatItem[0..<5]

            result.append(formatItem)

            returnresult

        }else{

            return""

        }

    }

    // 周转换为日期比如11月第一周第五天为:11-01-05 00:00 转后为:11-04

    @objcpublicclassfuncgetDateTimeWithSun(weekSuntime:String) ->String{

        varcomps =DateComponents()

        //转换字符串转换供UI显示

        ifweekSuntime.count>=14{

            varresult =""

            letitems = weekSuntime.components(separatedBy:" ")  //根据空格分开

            letfrontItem = items[0]

            letfirstItem = frontItem[0..<2]  //月份

            ifletmonthIndex =Int(firstItem),1<=monthIndex,monthIndex<=12{

                comps.setValue(monthIndex, for: .month)

            }

            letsecontItem = frontItem[3..<5]//第几周

            ifletweakIndex =Int(secontItem),1<=weakIndex,weakIndex<=5{

                comps.setValue(weakIndex, for: .weekOfMonth)

            }

            letthirdItem = frontItem[6..<8]//礼拜几

            ifletdayIndex =Int(thirdItem),0<=dayIndex, dayIndex<=6{

                comps.setValue(dayIndex, for: .weekday)

            }

            letgregorian =Calendar.init(identifier: .gregorian)

            letdate = gregorian.date(from: comps)

            letdateFormat =DateFormatter()

            dateFormat.dateFormat="MM-dd"

            letdateString = dateFormat.string(from: date ??Date())

            //后半截取前五位

            varformatItem = items[1]

            formatItem = formatItem[0..<5]

            result.append(formatItem)

            returndateString+" "+result

        }else{

            return""

        }

    }

    // 日期换为周比如2021年11月5号:11-05,转后为:jan-1st-sun 00:00

    @objcpublicclassfuncgetDateTimeWithWeek(weekDay:String) ->String{

        letdateFormatter =DateFormatter()

        dateFormatter.dateFormat="MM-dd HH:mm"

        letdate = dateFormatter.date(from: weekDay)

        varcalendar =Calendar.current

        calendar.firstWeekday=1

        calendar.minimumDaysInFirstWeek = 7

        letcomps = calendar.dateComponents([.weekday,.weekOfMonth,.month], from: date ??Date())

        letmontha:Int= comps.month??0

        letweek:Int  = comps.weekOfMonth??0

        letday:Int  = comps.weekday??0

        varresult =""

        //月份

        let monthArray = ["Jan ","Feb ","Mar ","Apr ","May ","Jun ","Jul ","Aug ","Sep ","Oct ","Nov ","Dec "]

        result.append(monthArray[montha-1])

        //第几周

        letweakNumberArray = ["1st ","2nd ","3rd ","4th ","5th "]

        result.append(weakNumberArray[week-1])

        let dayArray = ["Sun ", "Mon ","Tue ","Wed ","Thu ","Fri ","Sat "]

        result.append(dayArray[day-1])

        letitems = weekDay.components(separatedBy:" ")  //根据空格分开

        ifitems.count>1{

            result.append(items[1])

        }

        print("montha->\(montha) week-->\(week),day-->\(day)")

        returnresult

    }

    // 日期换为周的数字比如2021年11月5号:11-05,转后为:11-01-06 00:00

    @objcpublicclassfuncgetDateTimeWithWeekNum(weekDay:String) ->String{

        letdateFormatter =DateFormatter()

        dateFormatter.dateFormat="MM-dd HH:mm"

        letdate = dateFormatter.date(from: weekDay)

        varcalendar =Calendar.current

        calendar.firstWeekday=1

        calendar.minimumDaysInFirstWeek = 7

        letcomps = calendar.dateComponents([.weekday,.weekOfMonth,.month], from: date ??Date())

        letmontha:Int= comps.month??0

        letweek:Int  = comps.weekOfMonth??0

        letday:Int  = comps.weekday??0

        varresult =""

        //月份

        let monthArray = ["01-","02-","03-","04-","05-","06-","07-","08-","09-","10-","11-","12-"]

        result.append(monthArray[montha-1])

        //第几周

        letweakNumberArray = ["01-","02-","03-","04-","05-"]

        result.append(weakNumberArray[week])

        let dayArray = ["00 ", "01 ","02 ","03 ","04 ","05 ","06 "]

        result.append(dayArray[day])

        letitems = weekDay.components(separatedBy:" ")  //根据空格分开

        ifitems.count>1{

            result.append(items[1])

        }

        print("result->\(result)")

        returnresult

    }

相关文章

网友评论

      本文标题:日期转周,周转日期

      本文链接:https://www.haomeiwen.com/subject/jnkxbltx.html