function toHHMMSS(seconds) {
var h, m, s, result='';
// HOURs
h = Math.floor(seconds/3600);
seconds -= h*3600;
if(h){
result = h<10 ? '0'+h+':' : h+':';
}
// MINUTEs
m = Math.floor(seconds/60);
seconds -= m*60;
result += m<10 ? '0'+m+':' : m+':';
// SECONDs
s=seconds%60;
result += s<10 ? '0'+s : s;
return result;
}
Примеры
toHHMMSS(111); "01:51" toHHMMSS(4444); "01:14:04" toHHMMSS(33); "00:33"
Наряду с методом, описанным Олегом NSProcessInfo
, вы можете получить доступ к переменным среды, используя стандартную функцию C getenv
, например:
Swift 2.x:
func getEnvironmentVar(name: String) -> String? {
let rawValue = getenv(name)
guard rawValue != nil else { return nil }
return String(UTF8String: rawValue)
}
Swift 3.0:
func getEnvironmentVar(_ name: String) -> String? {
guard let rawValue = getenv(name) else { return nil }
return String(utf8String: rawValue)
}
Также возможно установить переменные среды с помощью функции setenv
:
func setEnvironmentVar(name: String, value: String, overwrite: Bool) {
setenv(name, value, overwrite ? 1 : 0)
}
Причина, по которой я упоминаю способность устанавливать переменные, состоит в том, что это единственный способ установить переменные при работе на игровой площадке Xcode.
Недавно я хотел увидеть обратную линию для странной ошибки CGContext
, которую я получал при работе с «живым» представлением на игровой площадке. По умолчанию backtrace не отображается в консоли, поэтому мне пришлось установить переменную среды CG_CONTEXT_SHOW_BACKTRACE
, чтобы увидеть, что было:
setenv("CG_CONTEXT_SHOW_BACKTRACE", "1", 1)
. После этого было плавное плавание. Ну, кроме ошибки CGContext
, которую я получал, но это тема для другого дня.
Надеюсь, что это поможет!
P.S. Для выполнения указанных функций требуется импортировать модуль Darwin
. Foundation
автоматически импортирует Darwin
, но я думал, что должен упомянуть об этом.
Swift 3 и выше:
import Foundation
if let value = ProcessInfo.processInfo.environment["key"] {
...
}
Да, возможно. Используйте для этого ProcessInfo
.
Простой пример:
let dic = ProcessInfo.processInfo.environment
if dic["VAR"] != nil {
}