如何将字符串小时转换为一天中的毫秒?
例如:
create or replace function regexp_count(text, text)
returns integer language sql as $$
select count(m)::int
from regexp_matches($1, $2, 'g') m
$$;
with example(str) as (
values
('a_b_c'),
('a___b'),
('abc')
)
select str, regexp_count(str, '_') as single, regexp_count(str, '__') as double
from example
str | single | double
-------+--------+--------
a_b_c | 2 | 0
a___b | 3 | 1
abc | 0 | 0
(3 rows)
或者:
let strDate = "06:00 PM"
我的代码:
let strDate = "09:00 AM"
例如,我的字符串是:06:00 PM,所以我想将日期设置为今天的毫秒数,即2018年9月20日,星期四,06:00 PM。
答案 0 :(得分:3)
您可以将DateFormatter的默认日期设置为今天的startOfDay,在解析时间时将格式器的语言环境区域设置为“ en_US_POSIX”,然后可以简单地获取结果日期timeIntervalSince1970并乘以1000:
input()
答案 1 :(得分:2)
首先,您需要分析日期字符串:
let dateString = "06:00 PM"
let formatter = DateFormatter()
formatter.defaultDate = Date()
formatter.dateFormat = "hh:mm a"
formatter.locale = Locale(identifier: "en_US_POSIX")
let date = formatter.date(from: dateString)
然后,您需要开始新的一天:
let calendar = Calendar.current
let start = calendar.startOfDay(for: date)
然后,获取date
和start
之间的时间间隔:
let timeInterval = date.timeIntervalSince(start)
let milliseconds = timeInterval * 1000.0