Если вы пытаетесь найти количество будних дней W (например, понедельник, вторник и hellip;) между двумя датами N и M , вы можете:
function getWeekdaysBetweenDates(firstDate, secondDate, dayOfWeek) {
var MILISECONDS_IN_DAY = 86400000;
function getNextDayOfWeek(date, dayOfWeek) {
date.setDate(date.getDate() + (7 + dayOfWeek - date.getDay()) % 7);
return date;
}
firstDate = getNextDayOfWeek(firstDate, dayOfWeek);
if (firstDate > secondDate) {
return 0;
}
return 1 + Math.floor(((secondDate - firstDate) / MILISECONDS_IN_DAY) / 7);
}
var firstDate = new Date("March 1, 2015");
var secondDate = new Date("March 25, 2015");
console.log(getWeekdaysBetweenDates(firstDate, secondDate, 2));
// 4
Вы можете использовать clickable span
в строке spannable
следующим образом: -
SpannableString ss = new SpannableString(" Hello, @John how's going on");
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View textView) {
//perform click operation
}
@Override
public void updateDrawState(TextPaint ds) {
}
};
ss.setSpan(clickableSpan, startIndex, endIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
yourTv.setText(ss);
yourTv.setMovementMethod(LinkMovementMethod.getInstance());
yourTv.setHighlightColor(Color.TRANSPARENT);
startIndex - это индекс J слова Джон в полной строке
endIndex - это индекс n слова Джона в полной строке.
blockquote>& amp; метод onclick будет запущен при нажатии на john ..
Редактировать
Извлечь имя пользователя John вы можете разбейте строку и получите ее следующим образом: -
String username = yourString.split("@")[1].split(" ")[0]; // this will extract john
Это также будет работать с несколькими упоминаниями.
var str = "Hello, @John how's going on. Greedings to @Bob.";
var regex = /[@]\S[^. ]*/g;
var matches = str.match(regex)
var split = str.split(regex);
for(var i = 0; i<matches.length;i++){
document.body.appendChild(document.createTextNode(split[i]));
var a = document.createElement('a');
a.appendChild(document.createTextNode(matches[i]));
a.title = "my title text";//text you can see onHover
a.href = "http://example.com/users/"+matches[i].split('@')[1];//link to user
document.body.appendChild(a);
}
document.body.appendChild(document.createTextNode(split[split.length-1]));
Здесь вы можете установить строку В текстовом представлении в вашем XML-файле это не будет проблемой. затем вы можете добавить в него атрибут onclick: «clickable», и он будет работать нормально