我将日期以这种格式保存在数据库中 - “yyyy-MM-dd'T'HH:mm:ssZ”。例如,“2018-05-17T11:15:00+0330”。时区各不相同,无论用户的本地时区是什么。
我想检索并显示“2018 年 5 月 17 日 11 点 15 分”之类的日期,将日期/时间保持在与保存时相同的时区。我怎样才能做到这一点?
我试过这个。
let dateString = "2018-05-17T11:15:00+0330"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
//formatter.timeZone = ???
print(formatter.date(from: dateString))
Run Code Online (Sandbox Code Playgroud)
但是我在本地时区获取 Date 对象并将其转换为日期字符串也会在我的本地时区显示日期。
在 Swift 中有这样的东西吗,https ://stackoverflow.com/a/46216251/1373592?
谢谢。
我有两个并排的标签。我设置了两个约束。标签-A 从视图的前缘开始。Label-B 从 Label-1 的后缘开始 10px。没有宽度限制。
Label-A 的文本长度不同;Label-B 的文本是固定的(6 个字符长)。这工作正常,直到 Label-A 的长度超过某个点。然后 Label-B 离开屏幕。
在我将文本值分配给 Label-A 之前,我想用 '...' 截断 Label-A 文本,如果它会将 Label-B 推到视图的后缘之外。知道如何确定我是否应该截断 Label-A 的文本以及截断多少?这必须同时适用于纵向和横向模式。
谢谢。
当用户点击导航栏标题(标签+图像)时,我显示一个popover(Present as Popover)作为下拉列表.我无法将导航栏标题设置为popover的锚点视图.因此,对于锚点视图,我添加了一个位于导航栏正下方的清晰1x1按钮(button.top = safe area.top)
我可以通过更改sourceRect中的y值来沿着y轴定位弹出窗口.
popover?.sourceRect = CGRect(x: 0, y: -10, width: 1, height: 1)
Run Code Online (Sandbox Code Playgroud)
它看起来不错,除了我不想要弹出窗口中的箭头.所以我添加了这行代码.
popover?.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0)
Run Code Online (Sandbox Code Playgroud)
现在,我无法正确定位弹出窗口.我在sourceRect中指定的y值无关紧要,popover保持在同一个地方.
我究竟做错了什么?
谢谢.