我正在使用以下代码来获取本地(IST)时间。但我不想显示Date&秒,也希望它以12小时(上午/下午)格式。请帮忙。
使用以下代码我会得到这样的时间
9/13/2016 11:38:17 AM
我想要这样
上午11:38
partial class Default3 : System.Web.UI.Page
{
DateTime UTCTime = System.DateTime.UtcNow;
DateTime IndianTime = UTCTime.AddHours(5.5);
private void Default3_Load(object sender, EventArgs e)
{
myTime.Text = IndianTime;
}
public Default3()
{
Load += Default3_Load;
}
}
答案 0 :(得分:6)
您可以像这样显示日期时间
DateTime dt = DateTime.Parse("6/22/2009 07:00:00 AM");
dt.ToString("HH:mm"); // 07:00 // 24 hour clock // hour is always 2 digits
dt.ToString("hh:mm tt"); // 07:00 AM // 12 hour clock // hour is always 2 digits
dt.ToString("H:mm"); // 7:00 // 24 hour clock
dt.ToString("h:mm tt"); // 7:00 AM // 12 hour clock
答案 1 :(得分:0)
要以请求格式在印度逗留,您可以使用此
var zone = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time");
var timeInIndia = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, zone);
var timeInIndiaAsString = timeInIndia.ToString("hh:mm tt", CultureInfo.InvariantCulture);
答案 2 :(得分:-2)
尝试:
partial class Default3 : System.Web.UI.Page
{
UTCTime = System.DateTime.UtcNow;
IndianTime = UTCTime.AddHours(5.5).Date;
private void Default3_Load(object sender, EventArgs e)
{
myTime.Text = IndianTime.ToShortDateString();
}
public Default3()
{
Load += Default3_Load;
}
}
如果这不起作用,请尝试以下方法:
DateTime UTCTime = System.DateTime.UtcNow;
DateTime IndianTime = UTCTime.AddHours(5.5).Date;
partial class Default3 : System.Web.UI.Page
{
private void Default3_Load(object sender, EventArgs e)
{
UTCTime = System.DateTime.UtcNow;
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0);
IndianTime = epoch.AddDays(Math.Floor(IndianTime.Subtract(epoch).TotalDays));
myTime.Text = IndianTime.ToShortDateString();
}
public Default3()
{
Load += Default3_Load;
}
}
第二个例子在格式方面是过度的,但是如果你需要将DateTime与存储为Date的东西(如在数据库中)进行比较,则非常有用。第二个例子中IndianTime的结果将评估为" true"如果您需要"删除DateTime的时间。"
请记住 - 日期时间只不过是一个整数 - 您可以根据需要对其进行格式化。