不应该String使用特定的格式化DateTimeFormatter进行解析LocalDateTime.parse()吗?
测试
DateTimeFormatter formatter = ISODateTimeFormat.dateTimeNoMillis()
LocalDateTime ldt = new LocalDateTime()
String val = ldt.toString(formatter)
System.out.println(val) //2013-03-26T13:10:46
// parse() throws java.lang.IllegalArgumentException: Invalid format: "2013-03-26T13:10:46" is too short
LocalDateTime nldt = LocalDateTime.parse(val, formatter)
Run Code Online (Sandbox Code Playgroud) 我想在Excel 2013中将一些文本与日期结合起来.
假设我有一个A2的单元格,日期为30-10-2014.我尝试使用以下公式在文本后附加日期:
="Some text and a date: "&A2
但输出显示日期为数字:一些文本和日期:41942
所以我尝试了以下TEXT公式:
="Some text and a date: "&TEXT(A2;"dd-mm-yyyy")
但这显示了一些文字和日期:30-10-yyyy而不是一些文字和日期:30-10-2014
所以或者我不明白TEXT公式是如何工作的或者是否存在一些错误/问题?
更新:看起来重要的是我有一个荷兰语版本的Windows(7),但英文版的Excel(2013)导致了这个问题!
我可能会忽略一些东西,但Flash/AS3似乎缺少基本的日期格式化功能.如何从中获取格式化字符串Date?有一些选项可以.toLocaleDateString()和.toUTCString(),但这有点限制,至少可以说.
那么,如何Date在AS3中格式化对象?
我需要将"28/08/2012"转换为"08/28/2012" MM/dd/YYYY格式.
我怎样才能做到这一点?
我使用下面的代码,但它向我抛出异常.
DateTime.ParseExact("28/08/2012", "ddMMyyyy", CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud) 我查看了以下问题/回答: 如何在php中获得"yyyy-MM-ddTHH:mm:ss.fffZ"的格式? 响应包括指向Microsoft文档的链接以格式化日期,但这些在PHP中不起作用.
最佳答案表明
date('Y-m-dTH:i:s.uZ') //for the current time
这输出
2013-03-22EDT12:56:35.000000-1440016
背景
我正在使用API,它需要上述格式的时间戳.该API位于英国(GMT),我的服务器位于澳大利亚(AEST).
API文档中给出的示例要求日期采用以下格式:
2011-07-15T16:10:45.555Z
我能得到的最接近的是日期('c')输出:
2014-07-03T16:41:59+10:00//Notice the Z is replaced with a time diff in hours
我相信'Z'指的是一个区域,但PHP文档中没有提到它.
不幸的是,当我发布这种格式时,API正在读取时间并花费10个小时.我收到一个错误,说日期不能过去(因为它是根据墨尔本的当地时间检查,但是提前10小时查看).
我已经尝试修剪时间戳以删除API接受的+1000,但记录显示为10小时前创建的.
我需要匹配所需的时间戳,但我找不到任何方法来复制上面的输出,在澳大利亚墨尔本的PHP中.非常感谢任何帮助.
关于SO的第一个问题,请让我知道我是怎么走的
我最近在现有的VS桌面应用程序中添加了WEB API,一切正常,直到昨天我必须添加一个带有三个参数的GET方法,其中一个是Date.好吧,起初我认为那将是一块蛋糕,但令我惊讶的是,我注意到当我在安装应用程序的服务器上发送2014/07/09(7月9日)时,它被视为2014/09/07(9月7日)因此我所有的比较都没有奏效.
我尝试过从GET方法更改为POST方法,在服务器上将区域和语言选项设置更改为相同的内容,将日期作为字符串传递,使用字符串的部分在服务器上创建Datetime对象.不幸的是他们都没有工作.
然后我记得这个桌面应用程序在它的WCF项目上有一些方法(我现在传递给web API),它完全没有问题地通过日期.查看代码一段时间后,我发现他们在使用日期的WCF项目的每个类中使用了类似的东西:
Imports System.Globalization
Imports System.Security.Permissions
Imports System.Threading
Public Class ServicioRemotoVentas
Implements IServicioRemotoVentas
Public Sub New()
MyBase.New()
Thread.CurrentThread.CurrentCulture = New CultureInfo("es-PE", False)
End Sub
Run Code Online (Sandbox Code Playgroud)
当然这个Thread.CurrentThread.CurrentCulture = New CultureInfo("es-PE",False)必须存在.现在我想知道你以前是否在Web API中使用过类似的东西?如果是这样,你如何以及在哪里放置这样的配置.
这些是我电脑上的设置:


这些是服务器设置:

我几乎忘了提到我使用这个格式yyyy/M/d以及使用json的所有其他参数传递所有日期.是否可能在Web API中对字符串进行反序列化时,这是使用系统日期格式完成的,因为我没有指定要使用的文化信息?或者在尝试序列化/反序列化日期时可能是Json错误?
与往常一样,您可以提供的任何建议或资源将不胜感激.
我在这个格式的oracle中有一个约会,DD-MM-YYY我想用其他格式将它转换为datetime DD-MM-YYY HH24:MI我该如何进行?
我试过这个,但没有任何工作:
to_date(the_date,'DD-MM-YYY HH24:MI')
Run Code Online (Sandbox Code Playgroud)
还有这个:
to_date(to_char(date_debut_p),'DD-MM-YYY HH24:MI')
Run Code Online (Sandbox Code Playgroud) 可以使用dd-mm-yyyy或dd-mmm-yyyy用于英国吗?我dd-mmm-yyyy在英国的网络应用程序中使用了格式。
Select CONVERT(varchar(11),ArrivalDate,106)
Run Code Online (Sandbox Code Playgroud)
但对方PM问我,
您确定这是英国的正确日期格式吗?
我在网上搜索,但dd-mm-yyyy没有找到有关dd-mmm-yyyy英国的信息。您能告诉我它们对于不同国家/地区是否是两种不同的格式,或者只是显示样式并且可以用于像英国这样的国家/地区?
我想打印时区缩写,例如:IST、UTC、PST、MST、CST、EST 等...
我正在将代码从 momentJS 迁移到 date-fns 并遇到以下问题。当我使用 momentJS 时,一切都按预期工作。例如,下面的代码将打印“ IST ”
const timeZone = 'Asia/Calcutta';
moment.tz(new Date(), timeZone).format('z'); // IST
Run Code Online (Sandbox Code Playgroud)
现在,我使用date-fns 的代码可以工作,但不能完全工作,因为它打印“印度标准时间”,而我只想打印IST。
format(parisDate, 'zzzz', { timeZone: 'Asia/Calcutta', locale: enGB }); // India Standard Time
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我错过了什么或做错了什么?这是我的代码的现场演示:date-fns DEMO
我不想使用像 momentjs 这样的任何外部库,我想自己创建一个格式化的日期字符串。我尝试使用new Date().toISOString(),但它正在丢失时区。
这:
new Date()
Run Code Online (Sandbox Code Playgroud)
给出:
Sat Jun 24 2017 09:32:10 GMT+0300 (RTZ 2 (winter))
和:
new Date().toISOString();
Run Code Online (Sandbox Code Playgroud)
给出:
2017-06-24T06:32:22.990Z
并且09:32:10是正确的时间,因此06:32:22丢失了时区信息。
除此之外,它看起来new Date().toLocaleString()几乎满足了我的需要。最后几个小时是正确的。结果:"24.06.2017, 11:37:05"。