Решение, в котором все любят, кажется очень интенсивным ... лично я думаю, что гораздо проще сделать что-то вроде этого:
var holidays = ["12/24/2012", "12/25/2012", "1/1/2013",
"5/27/2013", "7/4/2013", "9/2/2013", "11/28/2013",
"11/29/2013", "12/24/2013", "12/25/2013"];
$( "#requestShipDate" ).datepicker({
beforeShowDay: function(date){
show = true;
if(date.getDay() == 0 || date.getDay() == 6){show = false;}//No Weekends
for (var i = 0; i < holidays.length; i++) {
if (new Date(holidays[i]).toString() == date.toString()) {show = false;}//No Holidays
}
var display = [show,'',(show)?'':'No Weekends or Holidays'];//With Fancy hover tooltip!
return display;
}
});
Таким образом, ваши даты являются читабельными для человека. На самом деле это не совсем так, как мне кажется, это имеет смысл.
Попробуйте следующее.
let num = 1583367486000
let dateNum = Double(num/1000)
let date = Date(timeIntervalSince1970: dateNum)
let formatter = DateFormatter()
formatter.calendar = Calendar(identifier: .gregorian)
//formatter.timeZone = NSTimeZone.local // for system clock's local time
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateStr = formatter.string(from: date) // 2020-03-05 09:18:06 +0000 => GMT