Вот то, с чем я пришел. но вам нужно развернуть это на сервере, чтобы работать, или вы получите эту ошибку, независимо от того, что, даже если вы добавите песочницу. это необходимо развернуть на сервере с правильным URL-адресом http / https (локальный или IP-адрес не будет работать)
embed.2019-01-15_bcdc2b81.js:1 Uncaught DOMException: Failed to read the 'cookie' property from 'Document': The document is sandboxed and lacks the
var list = ["spotify:album:1DFixLWuPkv3KT3TnV35m3"];
var url = "https://embed.spotify.com?uri="
for (var i = 0; i < list.length; i++) {
var source =url + list[i]
var iframe = document.createElement("iframe");
iframe.src = source;
iframe.width = "300";
iframe.height = "380";
iframe.frameborder = "0";
iframe.allowtransparency = "true";
iframe.allow = "encrypted-media";
document.getElementById("demo").appendChild(iframe);
}
iframe{
border:1px solid red;
width:100%;
height:100%;
}
<div id="demo"></div>
[118 ] Java еще не имеет хорошего встроенного класса Time
(он предназначен для запросов JDBC, но это не то, что нужно).
Одним из вариантов является использование API JodaTime и его класса LocalTime .
Используя только встроенные API Java, вы застряли с java.util.Date . Для анализа времени можно использовать SimpleDateFormat , а затем функции сравнения Date
, чтобы узнать, до или после какого-либо другого времени:
SimpleDateFormat parser = new SimpleDateFormat("HH:mm");
Date ten = parser.parse("10:00");
Date eighteen = parser.parse("18:00");
try {
Date userDate = parser.parse(someOtherDate);
if (userDate.after(ten) && userDate.before(eighteen)) {
...
}
} catch (ParseException e) {
// Invalid date was entered
}
Или вы могли бы просто использовать некоторые последовательности манипуляции, возможно регулярное выражение, чтобы извлечь только часы и минуты части, преобразовать их в числа и сделать численное сравнение:
Pattern p = Pattern.compile("(\d{2}):(\d{2})");
Matcher m = p.matcher(userString);
if (m.matches() ) {
String hourString = m.group(1);
String minuteString = m.group(2);
int hour = Integer.parseInt(hourString);
int minute = Integer.parseInt(minuteString);
if (hour >= 10 && hour <= 18) {
...
}
}
На самом деле все зависит от того, чего вы пытаетесь достичь.
import java.util.Calendar;
Calendar cal = Calendar.getInstance();
int currentHour = cal.get(Calendar.HOUR);
if (currentHour > 10 && currentHour < 18) {
//then rock on
}
Адам хорошо объяснил в своем ответе Но я использовал этот способ. Я думаю, что это самый простой способ понять сравнение времени в java
Сначала создайте 3 объекта каландра с настройкой только вашего времени, Час и мин.
тогда получите GMT миллисекунды того времени и просто сравните.
Пр.
Calendar chechDateTime = Calendar.getInstance();
chechDateTime.set(Calendar.MILLISECOND, 0);
chechDateTime.set(Calendar.SECOND, 0);
chechDateTime.set(Calendar.HOUR, 11);
chechDateTime.set(Calendar.MINUTE, 22);
Calendar startDateTime = Calendar.getInstance();
startDateTime.set(Calendar.MILLISECOND, 0);
startDateTime.set(Calendar.SECOND, 0);
startDateTime.set(Calendar.HOUR, 10);
startDateTime.set(Calendar.MINUTE, 0);
Calendar endDateTime = Calendar.getInstance();
endDateTime.set(Calendar.MILLISECOND, 0);
endDateTime.set(Calendar.SECOND, 0);
endDateTime.set(Calendar.HOUR, 18);
endDateTime.set(Calendar.MINUTE, 22);
long chechDateTimeMilliseconds=chechDateTime.getTime().getTime();
long startDateTimeMilliseconds=startDateTime.getTime().getTime();
long endDateTimeMilliseconds=endDateTime.getTime().getTime();
System.out.println("chechDateTime : "+chechDateTimeMilliseconds);
System.out.println("startDateTime "+startDateTimeMilliseconds);
System.out.println("endDateTime "+endDateTimeMilliseconds);
if(chechDateTimeMilliseconds>=startDateTimeMilliseconds && chechDateTimeMilliseconds <= endDateTimeMilliseconds ){
System.out.println("In between ");
}else{
System.out.println("Not In between ");
}
Вывод будет выглядеть так:
chechDateTime : 1397238720000
startDateTime 1397233800000
endDateTime 1397263920000
In between
Далее предполагается, что ваши часы и минуты хранятся в виде int в переменных с именами hh
и мм
соответственно.
if ((hh > START_HOUR || (hh == START_HOUR && mm >= START_MINUTE)) &&
(hh < END_HOUR || (hh == END_HOUR && mm <= END_MINUTE))) {
...
}
пример:
import java.util.*;
import java.lang.Object;
import java.text.Collator;
public class CurrentTime{
public class CurrentTime
{
public static void main( String[] args )
{
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get( Calendar.HOUR );
int minute = calendar.get( Calendar.MINUTE );
// int second = calendar.get(Calendar.SECOND);
if( calendar.get( Calendar.AM_PM ) == 0 ){
am_pm = "AM";
if(hour >=10)
System.out.println( "welcome" );
}
else{
am_pm = "PM";
if(hour<6)
System.out.println( "welcome" );
}
String time = "Current Time : " + hour + ":" + minute + " " + am_pm;
System.out.println( time );
}
}
Из вашего заявления кажется, что вы просто хотите написать:
if (10 >= hh && hh < 18) {
...
}
Это тривиально, если вам уже даны часы. Но вы, конечно, спрашиваете что-то другое?