swift3.0 包含年月日十分 时间选择器的实现

相信很多app需要显示年月日时分,但是系统自带的datapicker选择时分后没有年月,故需要这样的

代码地址:https://github.com/jinliyuelong/LYJSwiftDemo

项目上不需要显示秒,所以隐藏了秒,需要显示秒的同学,可以参照代码隐藏即可

效果图:



view代码:

//
//  LYJDatePicker02.swift
//  MyswiftDemo
//
//  Created by Liyanjun on 2017/2/8.
//  Copyright © 2017年 hand. All rights reserved.
//

import UIKit

/// 这是时间选择器,实现 yyyy-mm-dd HH:mi:ss
class LYJDatePicker02: UIView {

    var canButtonReturnB: (() -> Void)? //取消按钮的回调
    
    var sucessReturnB: ((_ date:String) -> Void)?//选择的回调
    
    
    var title = UILabel.init(lableText: "选择时间")//标题
    
    var cancelButton = UIButton.init(title: "取消", bgColor: UIColor.clear, font:  CGFloat(mylableSize)) //取消按钮
    
    var confirmButton = UIButton.init(title: "确定", bgColor: UIColor.clear, font:  CGFloat(mylableSize)) //取消按钮
    
    
    var pickerView = UIPickerView()
    
    
     var lineView = UIView()//一条横线
    
    var returnString:String  {
    
        get{
            
            let selectedMonthFormat = String(format:"%.2d",selectedMonth)
        
            let selectedDayFormat = String(format:"%.2d",selectedDay)
        
            
            let selectedHourFormat = String(format:"%.2d",selectedHour)
            
            let selectedMinuteFormat = String(format:"%.2d",selectedMinute)
            

            
            return "\(selectedYear)-\(selectedMonthFormat)-\(selectedDayFormat) \(selectedHourFormat):\(selectedMinuteFormat)"
        
            
        }
    
        
    } //返回的时间字符串
    
    

    
    //数据相关
    var yearRange = 30 + 1000//年的范围
    
    var dayRange = 0 //
    
    
    var startYear = 0
    
    var selectedYear = 0;
    var selectedMonth = 0;
    var selectedDay = 0;
    var selectedHour = 0;
    var selectedMinute = 0;
    var selectedSecond = 0;
    
 
    
    
    
    
   
    

    
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        self.setupUI()
        
        self.initData()
    }
    
    
    convenience init() {
        self.init(frame:CGRect.init(x: 0, y: 0, width: 100, height: 100))
        
        self.setupUI()
        
        self.initData()
        
    }
    
    
    
    
    
    override func layoutSubviews() {
        super.layoutSubviews()
    }
    
    required init?(coder aDecoder: NSCoder) {
        
        super.init(coder: aDecoder)
        
        fatalError("init(coder:) has not been implemented")
    }
    
    //MARK:初始化数据
    func initData()  {
        
        
        
        let  calendar0 = Calendar.init(identifier: .gregorian)//公历
        
        var comps &
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值