Я хочу выбрать любую дату и время с помощью средства выбора даты и времени и хочу преобразовать его в соответствующую выбранную страну. Кроме того, дата должна автоматически меняться, если в соответствии с соответствующим временем. Я хочу в 24-часовом формате.
HTML код //
<div class="box">
<h2>World Clock</h2>
<div class='ipicker'>
<label>Date & Time for India</label>
<input type="datetime-local" name='datetime' id='indian' >
<br>
<label>Choose Country</label>
<select id="country" onchange="india()">
<option value="0">Choose Country</option>
<option value="1">Uk</option>
<option value="2">New York</option>
<option value="3">Tokyo</option>
</select>
<br>
<br>
<label>Date & Time</label>
<input type='text' id='indianText'>
</div>
</div>
js code//
function india() {
debugger
var e = document.getElementById("country");
var result = e.options[e.selectedIndex].value;
if(result == 0)
{
alert(' select country');
}
else if(result == 1)
{
var time = document.getElementById('indian').value;
console.log(time);
time = EngformatDate(time);
var engTime = document.getElementById("indianText").setAttribute("value", time);
}
else if(result == 2)
{
var time = document.getElementById('indian').value;
console.log(time);
time2 = NykformatDate(time);
var engTime = document.getElementById("indianText").setAttribute("value", time2);
}
else if(result == 3)
{
var time = document.getElementById('indian').value;
console.log(time);
time3 = TkyformatDate(time);
var engTime = document.getElementById("indianText").setAttribute("value", time3);
}
else
{
alert('choose country');
}
}
function EngformatDate(date) {
debugger
console.log(date);
var hours = new Date(date).getUTCHours();
var minutes = new Date(date).getUTCMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
const dateDay = new Date(date).getUTCDate();
const month = new Date(date).getUTCMonth()+1;
const year = new Date(date).getUTCFullYear();
console.log(month);
hours = hours % 12;
hours = hours ? hours : 12;
minutes = minutes < 10 ? '0' + minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return month+ "/" + dateDay+ "/" + year + " " + strTime;
}
function NykformatDate(date) {
// debugger
console.log(date);
var hours = new Date(date).getUTCHours() + (7);
var minutes = new Date(date).getUTCMinutes() + (0);
var ampm = hours >= 12 ? 'pm' : 'am';
const dateDay = new Date(date).getUTCDate();
const month = new Date(date).getUTCMonth()+1;
const year = new Date(date).getUTCFullYear();
console.log(month);
hours = hours % 12;
hours = hours ? hours : 12;
minutes = minutes < 10 ? '0' + minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return month+ "/" + dateDay + "/" + year + " " + strTime;
}
function TkyformatDate(date) {
debugger
console.log(date);
var hours = new Date(date).getUTCHours() + (9);
var minutes = new Date(date).getUTCMinutes() + (0);
var ampm = hours >= 12 ? 'pm' : 'am';
const dateDay = new Date(date).getUTCDate();
const month = new Date(date).getUTCMonth()+1;
const year = new Date(date).getUTCFullYear();
console.log(month);
hours = hours % 12;
hours = hours ? hours : 12;
minutes = minutes < 10 ? '0' + minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return month+ "/" + dateDay + "/" + year + " " + strTime;
}
Я могу видеть текущее время отлично, но, например: время в Великобритании 5 часов и 30 минут медленнее чем индийское время, поэтому, если текущее индийское время 3/5/2020 4:00 утра, оно должно показывать 3/4/2020 22:30 и показываться во всей выбранной стране.