UIDatePicker,显示带有年份和时间的完整日期

2024-06-24

你能有一个UIDatePicker在 DatePicker 上显示日、月、年和时间,或者我需要进行自己的自定义UIPickerView? i.e.

2000 年 11 月 12 日星期一 5 20 AM

目前日期选择器.datePickerMode set to .dateTime shows

11 月 12 日星期一 5 上午 20 点


是的你可以。但你需要将两者结合起来。使用年份选择器视图,并将日期选择器的最小值设置为所选年份的第一天,最大值设置为该年的最后一天。您还需要设置您的UIDatePicker属性 [datePickerMode][1] 到.dateAndTime

import UIKit

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
    @IBOutlet weak var pickerView: UIPickerView!
    @IBOutlet weak var datePicker: UIDatePicker!
    let years = Array(Date().year-3...Date().year+3)
    var date = Date()
    var lastIndex = 3
    override func viewDidLoad() {
        super.viewDidLoad()
        pickerView.delegate = self
        pickerView.dataSource = self
        datePicker.date = Date()
    }
    @IBAction func dateChanged(_ datePicker: UIDatePicker) {
        date = datePicker.date
        print(datePicker.date.year)
        print(datePicker.date)
    }
    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        pickerView.selectRow(3, inComponent: 0, animated: true)
        setDatePickerMinimumAndMaximumDatesFor(year: years[3])
    }
    func pickerView(_ pickerView: UIPickerView,
                    numberOfRowsInComponent component: Int) -> Int {
        return years.count
    }
    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return String(years[row])
    }
    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1
    }
    func setDatePickerMinimumAndMaximumDatesFor(year: Int) {
        datePicker.minimumDate = year.firstDayOfTheYear
        datePicker.maximumDate = year.lastDayOfTheYear
    }

    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
setDatePickerMinimumAndMaximumDatesFor(year: years[row])
        if let optionalDate = Calendar.current.date(byAdding: .year, value: (lastIndex > row ? row - lastIndex :  -(lastIndex - row)), to: date) {
            datePicker.date = optionalDate
        }
        print(datePicker.date.year)
        print(datePicker.date)
    }
}
extension Date {
    var year: Int {
        return Calendar.current.component(.year, from: self)
    }
}
extension Int {
    var firstDayOfTheYear: Date {
        return DateComponents(calendar: .current, year: self, month: 1, day: 1).date!
    }
    var lastDayOfTheYear: Date {
        return DateComponents(calendar: .current, year: self, month: 12, day: 31).date!
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIDatePicker,显示带有年份和时间的完整日期 的相关文章

  • 在 Xcode Beta 中分发构建时“IPA 处理失败”

    在尝试分发 IPA 时 Xcode 抛出错误 IPA 处理失败 Steps 产品 gt 存档 gt 分发 gt 企业 开发 gt IPA 处理失败 Xcode Version 11 0 beta 3 11M362v OS 10 15 Bet
  • 接受 iOS 应用付款吗?

    在ios应用程序上实现支付系统可以吗 我想制作一个应用程序 可以浏览我的电子商务网站上的产品 然后让人们在我的应用程序上购买产品 我问这个问题是因为我听说它违反了苹果的政策 这显然取决于所出售的商品 当然 最终的答案只能从你的律师对苹果协议
  • 当我的应用程序在 iOS 上终止时,保存 NSUserDefaults 的正确方法是什么

    我需要拯救我的NSUserDefault当我的应用程序在 iOS 中完全退出时 不是didenterbackground and foreground 仅当用户在 iOS 中使用减号 终止我的应用程序时 所以我在中编写以下代码applica
  • 如何在iOS中将底部安全区域设置为XIB?

    我想打开自定义弹出视图 在 XIB 中设计 它从底部显示 但现在在 iPhoneX 模拟器中 它从屏幕底部显示 我想在安全区域打开弹出窗口 iPhone X 的结果 并且 XIB 布局有约束 简单来说解决方案 使用超级视图删除底部约束并将其
  • Amazon AWS IOS SDK:如何列出文件夹中的所有文件名

    我正在使用 AWS IOS SDK 并尝试列出文件夹中的所有文件 此代码用于列出 BUCKET 中的所有文件等 void s3DirectoryListing NSString bucketName s3Client AmazonS3Cli
  • iOS:无法从 Swift 建立 RabbitMQ 连接

    我正在尝试从 Swift 连接 RabbitMQ 我已关注this https github com rabbitmq rabbitmq objc client 图书馆 创建 Pod 设置并进入工作区 已检查并核实 成功运行 viewDid
  • Swift 性能:map() 和 reduce() 与 for 循环

    我正在用 Swift 编写一些性能关键的代码 在实现了我能想到的所有优化并在 Instruments 中对应用程序进行分析后 我开始意识到绝大多数 CPU 周期都花在执行map and reduce 对浮点数数组的操作 因此 为了看看会发生
  • 我可以在 iPhone 应用程序上使用 Facebook 身份验证服务器端流程并仍然进行客户端交互吗?

    我有一个使用 Facebook 身份验证来登录用户的网站 它使用 oAuth 2 0 服务器端流程进行身份验证 一切正常 我现在正在为同一网站开发一个 iPhone 应用程序 并希望允许用户使用 FB 身份验证通过 iPhone 应用程序登
  • NSMutableArray enumerateObjectsUsingBlock 并不像苹果所说的同步

    这是一个错误吗 我有这样的行 myArray enumerateObjectsUsingBlock id obj NSUInteger idx BOOL stop NSLog d idx NSLog end 这应该像这样打印 0 1 2 e
  • 如何在 AVCaptureVideoPreviewLayer 上添加叠加层?

    我正在使用 Swift 构建一个 iOS 应用程序 它需要二维码扫描仪功能 我已经使用 AVFoundation 实现了 QR 码扫描仪 现在我的捕获屏幕看起来与视频录制屏幕相同 即AVCaptureVideoPreviewLayer显示相
  • 将 autoResizingMask 与 CGRectZero 结合使用

    我正在为表格视图部分构建页脚 页脚的高度将在中指定heightForFooterInSection so in viewForFooterInSection我只想添加子视图并指定页脚视图应填充指定的任何页脚高度 此页脚大小将是动态的 所以
  • iOS Facebook SDK 通过图搜索来搜索用户

    我是图形搜索新手 我想搜索具有电子邮件地址的用户 那可能吗 现在 我只知道如何使用他们的名字进行搜索 如下所示 https graph facebook com search q chandler de angelis type user
  • ios - 安排无限数量的本地通知

    我有一个应用程序 允许用户创建重复事件 每一个事件在一天中的特定时间可能有也可能没有提醒 警报 如果有的话 应用程序会发送一个本地通知在一天中的那个时候 事件存储在CoreData Event name Go to London date
  • UIStackView - 拖动以重新排序排列的子视图?

    我试图获得一些关于如何实现在 a 上发现的相同类型的 拖动重新排序 行为的建议 UITableView但在一个UIStackView 到目前为止 这就是我的想法 为每个按钮添加一个长按手势识别器arrangedSubviews 长按时 添加
  • 从 UIImageView 的中心对 UIImageView 进行动画处理

    我有一个UIImageView应该从动画size 0 0 gt 93 75 我有以下内容 UIView animateWithDuration 0 5 delay 0 options UIViewAnimationOptionTransit
  • TDD VS BDD:REST 服务

    我对 TDD 与 BDD 很困惑 TDD 和 BDD 在以下各点上有何不同 开发 先测试用例 再开发 RestService HTTP 不进行休息调用 如果是这样 a 我们是否使用模拟对象仅返回硬编码的 json b 如何处理 REST 调
  • YouTube 嵌入 AirPlay UIWebView

    我正在开发一个视频应用程序 其中包含来自不同来源的大量视频 应用程序中的选项之一必须是通过电视上的 Airplay 播放视频 为了在我的应用程序中显示 YouTube 视频 我使用 YTPlayerView 它是 YouTube API 的
  • 在 swift 中实现自定义markerInfoWindow不起作用

    我一直在使用下面发布的方法来显示自定义信息窗口 但是每当我运行它时 只显示默认窗口 带有标题 片段 我已经为以下方法创建了 xib 和 swift 文件 并且我尝试使用标准函数表示法 即 mapView mapView markerInfo
  • 将渐变应用于 UIImage - 如何消除颜色反转?

    我正在应用渐变UIImage 我希望它底部是黑色的 中间慢慢变成透明或浅灰色 基本上没问题 但我有一个问题 在这个渐变下 我的图像颜色在某些地方反转 这看起来很烦人 我该如何解决这个问题 为了您方便 我的方法如下 我尝试过选择不同的混合模式
  • 以编程方式使后退按钮转到上一个视图

    我有一个 UIBarButtonItem 并且想以编程方式设置转到前一个控制器的操作 在我的例子中 我之前的视图是 UITableViewController 下面是我当前用来制作栏按钮项目的代码 尽管该按钮尚未转到上一个视图 UIBarB

随机推荐

  • 检查 url 是否为 Mercurial 存储库(如 git ls-remote)

    如何检查 URL 是否指向 Mercurial 存储库 对于 git 我会使用git ls remote url并检查返回值 hg 有类似的东西吗 您可以使用hg identify为此 它可以针对远程存储库运行 如果给定的路径不是存储库 M
  • 在数据库中插入具有相同组合框的 2 个函数的字段。仅保存第一个函数的数据

    我有一个用 tkinter 制作的数据库管理器 我在其中插入和保存数据 它工作正常 一切正确 它正确保存一切 我尝试添加新插入 这就是我遇到问题的地方 但是 我无法从同一组合框添加新的字段插入 即同一组合框插入 2 个内容 我用2个不同的c
  • python:这是从字典中删除元素的错误方法吗?

    我用这种方法从字典中删除 emelment d ele data d ele None 我认为通过这个我可以删除原始元素上的引用 以便可以释放删除的数据 而不存在内存泄漏 这是正确的方法吗 您可以使用以下命令从字典中删除元素del gt g
  • 是否可以使用 JavaScript focus() 函数将焦点集中在

    是否可以专注于一个 div 使用JavaScriptfocus 功能 我有一个 div tag div You have 3 tries left div 我正在努力关注以上内容 div using document getElementB
  • 按正确的列(即 TemplateField)对 gridView 进行排序

    我在 gridView 中排序列时遇到问题 我只想选择列中名称等于 完成 的那些行 我的 gridView 由一些 BoundField 和 TamplateFields 组成 当我想按正确的 BoundField 排序时 我将正确的字符串
  • 如何在具有名为“attribute”的列的数据库上使用 ActiveRecord? (危险属性错误)

    我正在访问一个无法更改的数据库 它有一个名为attribute定义的 每当我尝试访问attribute 我得到这个异常 属性 由 ActiveRecord ActiveRecord DangerousAttributeError 定义 my
  • 如何减去日期分量?

    就像今天一样Friday 即6根据NSCalendar 我可以使用以下方法得到这个 Calendar current component weekday from Date 我如何获得工作日部分Saturday上周 应该是7 如果我做Cal
  • 从点集合创建 .stl 文件

    因此 我使用的软件接受轮廓或 stl 文件形式的 3D 对象 我的轮廓沿着 z 平面 每个平面都有一个唯一的 z 我必须修改实验的轮廓 现在轮廓对于每个平面没有唯一的 z 它们现在与 z 0 平面略有角度 这些点代表 3D 对象的边缘 获取
  • 显示 � 而不是 £

    从 mysql 数据库提取数据时 显示符号 而不是 有问题的字段已整理为 utf8 general ci 我也有在页面的 head 标签上 有什么想法吗 Use mysql query SET NAMES UTF8 在对数据库执行任何查询之
  • scala 元组拆包

    我知道这个问题已经以不同的方式出现过很多次 但我仍然不清楚 有没有办法达到以下目的 def foo a Int b Int foo a b right way to invoke foo foo getParams is there a w
  • 禁用在 Visual Studio 2017 中不起作用的 Azure Functions 属性

    我有带计时器触发器的 Azure 功能 public static void Run TimerTrigger 0 15 Disable True TimerInfo myTimer TraceWriter log 这里的Disable t
  • 如何使用 nexus/maven 将依赖项添加到第 3 方库

    我正在尝试专业地使用 Nexus m2eclipse maven 3 并且我有一个巨大的第 3 方库 需要很多依赖项 有没有什么方法可以通过将这个第三方库及其所有链接的依赖项上传到 Nexus 来减轻我的痛苦 这样任何需要它的人都只需为这个
  • Java棋盘游戏

    基本上 我正在用 java 创建一个棋盘游戏 并设法使用数组创建单元格 使其看起来像 10x10 网格 现在我已经对它们进行了编号 它们从左到右从上到下 如图所示 我正在创建一个类似于蛇和梯子游戏的游戏 但有自己的特色 问题是 如何创建类似
  • 使函数调用中的括号可选

    嘿 我即将重写我的 JavaScript 库的核心文件 并且我正在寻找更好的方法来完成所有事情 其中之一是我如何使括号可选 例如某些函数调用如下所示 Spark p content Hello World 还有其他人也这样 Spark br
  • 在 Android Studio 中重新启动系统后,项目视图未显示

    重新启动系统后 我无法查看 Android Studio 中任何项目的项目结构 以前 我可以通过进入 视图 gt 项目 来选择 项目视图 但 视图 菜单现在不显示此类选项 请看下图 今天早上这个问题就发生在我身上 解释 Fabric Cra
  • 如何在Linux下生成系统范围的唯一ID

    我正在使用多进程 Linux 系统 需要生成唯一的 ID 安全性不是考虑因素 因此 ID 生成器从零开始递增就可以了 而且它只是在本地计算机内 不涉及网络 显然 实现这一点并不难 但我只是想知道是否已经提供了任何东西 最好是轻量级的 这听起
  • GSM SIM800C 文本转语音音频流

    I have 我已经成功地能够向它发送 AT 命令并执行一些操作 但我真正想要的是文本转语音功能 我能够生成 AMR 音频文件 将其上传到模块的内部存储器 并在有人时播放它来电 但是来电者听到的消息将是动态的 并且 TTS 将实时运行 因此
  • 合并 PDF iTextSharp

    我在网上查看了一些示例 并提出了使用 iTextSharp 合并 pdf 的代码 但我收到一个错误 该文档没有页面 它失败于页面 writer GetImportedPage reader X 这是堆栈跟踪 at iTextSharp te
  • 如何使用自定义数据生成器进行 keras 图像增强?

    我正在使用 Keras 自定义生成器 我想对从自定义数据生成器返回的数据应用图像增强技术 我想要这些图像增强技术 ImageDataGenerator rotation range 40 width shift range 0 2 heig
  • UIDatePicker,显示带有年份和时间的完整日期

    你能有一个UIDatePicker在 DatePicker 上显示日 月 年和时间 或者我需要进行自己的自定义UIPickerView i e 2000 年 11 月 12 日星期一 5 20 AM 目前日期选择器 datePickerMo