По существу вам нужен порт USB на ПК-1, который будет выступать в качестве USB-устройства для ПК-2.
Это невозможно для подавляющего большинства систем ПК, потому что USB является асимметричной шиной с архитектурой хоста / устройства (или мастер / ведомый, если хотите). USB-контроллеры (и их порты) на большинстве ПК могут работать только в режиме хоста и не могут имитировать устройство.
Именно по этой причине вы не можете подключать компьютеры через USB без специального кабеля со специализированной электроникой.
Единственное исключение - если у вас есть ПК, поддерживающий стандарт USB On-The-Go , который позволяет USB-порту действовать как в режиме хоста, так и в устройстве. Устройства USB-OTG действительно существуют, но обычно это встроенные устройства (смартфоны и т. Д.). Я не знаю, есть ли способ добавить порт USB-OTG на товарный ПК.
EDIT:
Если вам не нужна клавиатура перед ОС на ПК -2, вы можете использовать пару USB-ключей Bluetooth - по одному на каждом ПК. Вам нужно будет использовать специализированное программное обеспечение на ПК-1, но это определенно возможно - я уже видел возможную реализацию в Linux , и я уверен, что для Windows это должно быть одно. Вам также понадобятся Bluetooth HID-драйверы на ПК-2, если они еще не установлены.
В другом примечании вы рассматривали чисто программное / сетевое решение, такое как TightVNC ?
Укороченная версия:
const monthNames = [«Январь», «Февраль», «Март», «Апрель», «Май», «Июнь», «Июль», «Август». ", "Сентябрь октябрь ноябрь декабрь" ]; const d = новая дата (); document.write («Текущий месяц» + monthNames [d.getMonth ()]);
Примечание (2019-03-08) - Этот мой ответ, который я первоначально написал в 2009 году, устарел. См. ответ Дэвида Стори для лучшего решения.
Для меня это - лучшее решение,
для TypeScript также
const env = process.env.REACT_APP_LOCALE || 'en';
const namedMonthsArray = (index?: number): string[] | string => {
const months = [];
for (let month = 0; month <= 11; month++) {
months.push(
new Date(new Date('1970-01-01').setMonth(month))
.toLocaleString(env, {
month: 'long',
})
.toString(),
);
}
if (index) {
return months[index];
}
return months;
};
, Вывод
["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
Сохраните это простым:
echo date("d M Y");
, который даст
31 Aug 2019
Сохранять имена в массиве и искать по индекс месяца.
var month=new Array(12);
month[0]="January";
month[1]="February";
month[2]="March";
month[3]="April";
month[4]="May";
month[5]="June";
month[6]="July";
month[7]="August";
month[8]="September";
month[9]="October";
month[10]="November";
month[11]="December";
document.write("The current month is " + month[d.getMonth()]);
Если вы не возражаете против расширения прототипа Date (и есть несколько веских причин не делать этого), вы действительно можете придумать очень простой метод:
Date.prototype.monthNames = [
"January", "February", "March",
"April", "May", "June",
"July", "August", "September",
"October", "November", "December"
];
Date.prototype.getMonthName = function() {
return this.monthNames[this.getMonth()];
};
Date.prototype.getShortMonthName = function () {
return this.getMonthName().substr(0, 3);
};
// usage:
var d = new Date();
alert(d.getMonthName()); // "October"
alert(d.getShortMonthName()); // "Oct"
Эти затем функции будут применяться ко всем объектам Date javascript.
Для этого вы можете использовать datejs . Проверьте FormatSpecifiers , MMMM дает вам название месяца:
var objDate = new Date("10/11/2009");
document.write(objDate.toString("MMMM"));
И datejs локализовал его для более чем 150 языков! См. Здесь
Вот еще один, с поддержкой локализации :)
Date.prototype.getMonthName = function(lang) {
lang = lang && (lang in Date.locale) ? lang : 'en';
return Date.locale[lang].month_names[this.getMonth()];
};
Date.prototype.getMonthNameShort = function(lang) {
lang = lang && (lang in Date.locale) ? lang : 'en';
return Date.locale[lang].month_names_short[this.getMonth()];
};
Date.locale = {
en: {
month_names: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
month_names_short: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
}
};
вы можете легко добавить поддержку других языков:
Date.locale.fr = {month_names: [...]};