自1970年1月1日UTC(大纪元时间)以来,我有几秒钟.
1320105600
我需要将这些秒转换为以下格式的日期和时间.
Friday,November 4,2011 5:00,AM
我怎样才能做到这一点?
在开发者机器上(cassini)
new DateTime(2012,3,14).ToString("d")
Run Code Online (Sandbox Code Playgroud)
结果是
14/03/2012
Run Code Online (Sandbox Code Playgroud)
这是正确的,但当部署到完整的IIS服务器时,结果是
03/14/2012
Run Code Online (Sandbox Code Playgroud)
服务器在控制面板/区域语言中设置为所有英语/英国/ GB,命令提示符中的运行日期返回dd/MM/YYYY格式.
该站点已设置为两者uiCulture="en-GB",culture="en-GB"并且这些站点显示在web.config全球化标记中.
我可以通过添加强制文化来解决这个问题
new DateTime(2012,3,14).ToString("d", new CultureInfo("en-GB"));
Run Code Online (Sandbox Code Playgroud)
但我真的想知道什么是错误地设置格式.
CultureInfo.CurrentCulture.Name, CultureInfo.CurrentUICulture.Name
Run Code Online (Sandbox Code Playgroud)
都归来了 en-US
M/d/yyyy 例如3/14/2012)dd/MM/yyyy 例如14/03/2012)web.config中的实际值
<globalization requestEncoding="UTF-8" responseEncoding="UTF-8" uiCulture="en-GB" culture="en-GB" />
Run Code Online (Sandbox Code Playgroud) 我有一个字符串,应该用ISO 8601格式指定一个日期和时间,其中可能有或没有毫秒,我想struct tm从它获得一个以及可能已指定的任何毫秒值(可以是如果不存在于字符串中则假定为零).
检测字符串格式是否正确,以及将用户指定的字符串转换为struct tm毫秒和毫秒值会涉及什么?
如果它不是毫秒问题,我可能只是使用C函数strptime(),但我不知道当秒包含小数点时该函数的定义行为应该是什么.
最后一点需要注意的是,如果可能的话,我会更喜欢一种解决方案,它不依赖于仅在Boost中找到的函数(但我很乐意接受C++ 11作为先决条件).
输入看起来像:
2014-11-12T19:12:14.505Z
Run Code Online (Sandbox Code Playgroud)
要么
2014-11-12T12:12:14.505-5:00
Run Code Online (Sandbox Code Playgroud)
Z在这种情况下,表示UTC,但可以使用任何时区,并将表示为与GMT的+或 - 小时/分钟偏移.秒字段的小数部分是可选的,但它可能存在的事实是我不能简单地使用strptime()或者std::get_time(),如果在字符串的秒部分中找到这样的字符,则不会描述任何特定的定义行为.
我尝试了一百万种不同的方法,但无济于事.任何帮助将非常感激.
long millis = getMillisFromServer();
Date date = new Date(millis);
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("Australia/Sydney"));
String formatted = format.format(date);
Run Code Online (Sandbox Code Playgroud)
以上不起作用.
基本上,我想要做的是,获取纪元时间并将其转换为澳大利亚时间.我当地时间是+05.30但当然我不希望这是导致这种转换的因素.
编辑-
运行您的确切代码时的输出,
epoch 1318388699000
周五10月12日08:34:59 GMT + 05:30 2011
12/10/2011 03:04:59
12/10/2011 14:04:59
我想知道如何编写一个方法,它将返回一个包含短日期名称的字符串,例如:
public static string GetShortDayName(DayOfWeek day)
Run Code Online (Sandbox Code Playgroud)
现在如果我打电话:
string monday = GetShortDayName(DayOfWeek.Monday);
Run Code Online (Sandbox Code Playgroud)
如果文化是en,我会回到"mo",如果文化是例如,我会回到"lu".
给定日期时间格式字符串,是否有标准方法来查找匹配该格式的第一个匹配子字符串?
例如,给定......
d-MMM-yy H:mm:ss
和一些文字......
"blah 1 2 3 7-Jul-13 6:15:00 4 5 6 blah"
我希望它会回归
"7-Jul-13 6:15:00"
现在我可以通过解析找到这个字符串,但我想知道是否有任何库支持这样做?
我在mvc 6项目中使用带有taghelper元素的"asp-format"标签时遇到了问题.
我们的想法是以这种方式格式化日期输入元素:
<input asp-for="StartDate" asp-format="{0:dd/MM/yyyy}" />
Run Code Online (Sandbox Code Playgroud)
这个"StartDate"属性在我的模型中,以这种方式声明:
public DateTime StartDate {get; set; }
Run Code Online (Sandbox Code Playgroud)
出于一个奇怪的原因,这个元素永远不会被格式化,并且总是这样呈现:
---> 02/29/2016 00:00:00
Run Code Online (Sandbox Code Playgroud)
所以我创建了一个viewmodel类并定义了一个属性来保存整个人模型.
public class PersonViewModel
{
public Person Johndoe {get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在视图中使用此类,格式化工作.
<input asp-for="Johndoe.StartDate" asp-format="{0:dd/MM/yyyy}" />
---> 29/02/2016
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种能够在没有工作日的情况下获取长日期时间的语言环境.这样的野兽存在吗?
下面是我用来获取包含工作日的长日期格式的代码:
DateTime time = ...
String formattedDate = time.ToLongDateString();
Run Code Online (Sandbox Code Playgroud)
编辑
我希望看到的例子:
ToLongDateString()返回以下内容:
我试过这个:
<input type="datetime-local" value="<?php echo $row['Time']; ?>" class="date" name="start" REQUIRED>
Run Code Online (Sandbox Code Playgroud)
如何使用数据库中的数据设置此输入字段的值?
它不起作用!!
我也需要编辑它.
或者我应该使用其他类型的输入?$行[ '时间']; 来自数据库!
我有一个mongodb有很多领域的集合.一个字段是'date_time',它是ISO日期时间格式,Ex:,ISODate("2014-06-11T19:16:46Z")另一个字段是'name'.
鉴于a name,如何找到该系列中最老/最年轻的帖子?
例如:如果two集合'数据'中有帖子:
[{'name' : 'John', 'date_time' : ISODate("2014-06-11T19:16:46Z")},
{'name' : 'John', 'date_time' : ISODate("2015-06-11T19:16:46Z")}]
Run Code Online (Sandbox Code Playgroud)
鉴于"约翰"这个名字,我如何找到该系列中最老的帖子,即ISODate("2014-06-11T19:16:46Z")哪一个?同样对于最年轻的帖子.