标签: datetime-conversion

从unix时间转换为Calendar - 有一个小时的不一致

我已经编写了这个方法来将unix时间转换为日历对象:

     /**
 * Converts Unix time to Calendar instance.
 */
public static Calendar unixToCalendar(long unixTime){
    Calendar calendar = new GregorianCalendar(1970/*Year*/, GregorianCalendar.JANUARY/*0*/,       1 /*Day*/, 00, 0);
    calendar.add(Calendar.MINUTE, (int) (unixTime/60/* Sec to Min */));
    return calendar;
}
Run Code Online (Sandbox Code Playgroud)

问题是,对于更大的输入值,我会在实时到结果之间得到恰好一小时的差异.

差异从796000000值之间开始......

例如,直到796000000我们得到相同的结果(匹配现实),但是对于797000000及以上,我们得到一小时的差异(我的代码在一小时前进).

如果我使用:

calendar.setTimeInMillis(unixTime*1000);

我从现实中得到了同样的问题,只有3-2小时的差异(相同的值).

我使用了一些在线网站来检查自己,我正在寻找GMT 0的结果 .http ://www.epochconverter.com/ http://www.onlineconversion.com/unix_time.htm

谢谢

java datetime calendar unix-timestamp datetime-conversion

2
推荐指数
1
解决办法
5191
查看次数

PHP intl可以将公历日期转换为其他日历类型

PHP intl可以将公历日期转换为其他日历类型.

例如Gregorian到Hijri,2017/04/11to1396/01/22

或者我们必须使用外部库来转换日期?

php intl hijri datetime-conversion

2
推荐指数
1
解决办法
904
查看次数

POSIXct:as.POSIXct("2008-03-30 02:00:00",格式="%Y-%m-%d%H:%M:%S")失败是否是R中的错误?

转换为POSIXct时会发生非常奇怪的事情:

> as.POSIXct("2008-03-30 02:00:00",format="%Y-%m-%d %H:%M:%S")
[1] NA
Run Code Online (Sandbox Code Playgroud)

但:

> as.POSIXct("2008-02-28 02:00:00",format="%Y-%m-%d %H:%M:%S")
[1] "2008-02-28 02:00:00 CET"
Run Code Online (Sandbox Code Playgroud)

我很无能为力.这是R中的一个错误吗?它可能与我的德国(柏林)地区有关吗?我正在使用R 2.14.2 for windows.

statistics posix r posixct datetime-conversion

1
推荐指数
1
解决办法
573
查看次数

如何将日期时间(SQL Server)转换为Excel日期时间?

问题:我想将datetimeSQL Server 转换为 Excel 日期时间格式。

示例 1:从2018-08-23 15:32:32.00043335,65

示例 2:从1985-03-26 10:35:42.00031132,44

我尝试过的:受这个答案的启发,我尝试了这个查询

SELECT DATEDIFF(day, @MyDatetime, GETDATE())
Run Code Online (Sandbox Code Playgroud)

如果你想转换日期(不带小时),那么它可以工作,但是如何转换时间呢?

在Excel中,时间保存在数字的小数部分,所以我尝试使用

SELECT DATEDIFF(SECOND, '1899/12/30 00:00:00.000', GETDATE())
Run Code Online (Sandbox Code Playgroud)

但这会导致溢出错误。

datediff 函数导致溢出。分隔两个日期/时间实例的日期部分数量太大。尝试使用 datediff 和不太精确的日期部分。

sql sql-server excel datetime datetime-conversion

1
推荐指数
1
解决办法
1万
查看次数

Java 将 19 位 Unix 时间戳转换为可读日期

我正在尝试将 19 位 Unix 时间戳(例如(五分之一))转换1558439504711000000可读的日期/时间格式。我的时间戳以 6 个零结尾,这表明时间以纳秒为单位。

我遇到过一些例子,人们使用了我不需要的时区。另一个例子使用 ofEpochSecond ,如下所示:

Instant instant = Instant.ofEpochSecond(seconds, nanos);
Run Code Online (Sandbox Code Playgroud)

但我不确定是否需要使用ofEpochSecond。

下面的代码给出了我实现这一目标的最新方法:

String timeStamp = "1558439504711000000";
long unixNanoSeconds = Long.parseLong(timeStamp);
Date date = new java.util.Date(timeStamp*1000L); 
// My preferred date format
SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MM-yyyy HH:mm:ss");                    
String formattedDate = sdf.format(date);
System.out.println("The timestamp in your preferred format is: " +  formattedDate); 
Run Code Online (Sandbox Code Playgroud)

但我得到的输出是这样的:

// The timestamp in your preferred format is: 11-12-49386951 11:43:20
Run Code Online (Sandbox Code Playgroud)

其中不显示年份格式,例如 2019 格式。

java unix-timestamp datetime-conversion

1
推荐指数
1
解决办法
3648
查看次数

将日期时间转换为另一种格式

我正在尝试使用以下代码将日期时间从 2019 年 12 月 17 日 19:13:14:850 转换为 17/12/2019 19:13:

string dateTime = "17 Dec 2019 19:13:14:850";
DateTime dt = DateTime.ParseExact(dateTime,"dd:MM:yyyy hh:mm:ss:fff",CultureInfo.InvariantCulture);
string s = dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

但收到错误消息为:

字符串未被识别为有效的日期时间。

c# datetime-conversion

1
推荐指数
1
解决办法
120
查看次数

Java中的CDT到EST时间转换未格式化

我试图将我的时间戳从 CST 更改为 EST,但奇怪的是它不起作用,我很清楚为什么。

String timestamp = "Wed Jul 07 10:35:10 CDT 2021";
String formattedTimestamp;
SimpleDateFormat sdfGFTime = new SimpleDateFormat("E MMM dd HH:mm:ss zzz yyyy", Locale.US);
TimeZone obj = TimeZone.getTimeZone("America/New_York");
         
Date date = null;
sdfGFTime.setTimeZone(obj);
date = sdfGFTime.parse(timestamp);
formattedTimestamp = sdfGFTime.format(date);
        
System.out.println(formattedTimestamp);
Run Code Online (Sandbox Code Playgroud)

输出:

Wed Jul 07 10:35:10 CDT 2021
Run Code Online (Sandbox Code Playgroud)

预期的:

Wed Jul 07 11:35:10 EST 2021
Run Code Online (Sandbox Code Playgroud)

关于我可能会做什么不正确的任何想法?

java timezone date simpledateformat datetime-conversion

1
推荐指数
1
解决办法
41
查看次数

如何将 ZULU 时间戳转换为欧洲/巴黎时区?

我有一个 ZULU 时间戳,必须将其转换为巴黎时区。

ZULU 2022-11-04T06:10:08.606+00:00  --> Paris 2022-11-04T07:10:08.606+01:00
Run Code Online (Sandbox Code Playgroud)

并且必须注意 DST 例如:夏季时间 +2 小时 冬季时间 +1 小时

我编写了以下代码,该代码在本地按预期工作,但在服务器(巴黎)上部署时未按预期工作。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.Locale;

public class ParisTime {

    public static void main(String[] args) throws ParseException {

        // String date = "2022-05-31T23:30:12.209+00:00";
        String date = "2022-11-04T06:10:08.606+00:00";

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.ENGLISH);
        LocalDateTime dateTime = dateFormat.parse(date).toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
        ZonedDateTime of = ZonedDateTime.of(dateTime, ZoneId.of("Europe/Paris"));
        String hourDiff = of.toString().substring(of.toString().indexOf('+') + 1, of.toString().indexOf('+') + 3);
        String zonedDateTime = of.plusHours(Integer.valueOf(hourDiff)).toString();
        String newDatetime …
Run Code Online (Sandbox Code Playgroud)

java timezone utc datetime-conversion java-time

1
推荐指数
1
解决办法
583
查看次数

PHP 5.3中的1357133639816毫秒转换

我已经找到了解决方案,使用PHP 5.31357133639816毫秒转换为dd-mm-yyyy h:m:s,并将当前服务器时间转换为上面给出的相同毫秒格式.

此值是来自Android上的SMS的摘录,显示时间值为02-Jan-2012 07:03 PM

我努力寻找和测试在线可用的代码.

PS - http://codepad.org帮助快速执行任何测试代码(如果您可能希望在发布之前测试urs).

php milliseconds datetime-conversion

0
推荐指数
1
解决办法
7438
查看次数

将Date转换为分钟是什么意思?

基于如何在Java中将标准日期转换为分钟?信息,我按照这种技术将日期转换为分钟,但输出不是预期值(例如,12小时 - >应该是720分钟).

这是我的源代码

    SimpleDateFormat sdf = new SimpleDateFormat("hh");
    Date theDate = sdf.parse ("12");
    long minutes22 = (theDate.getTime() / 1000)  / 60;
    System.out.println("Minute "+minutes22);
Run Code Online (Sandbox Code Playgroud)

输出为-420.有人可以向我解释一下吗?

<第一个问题解决了,请看评论部分>

新问题是切割String.<问题也解决了,请看评论部分>

对于另一个我尝试做自己的解决方案的输入,但在完成切割字符串后出现问题.我发现重复值不能单独保存.我不知道为什么会发生,因为我保持不同的索引.有什么建议吗?

这是另一个我的另一个源代码.

    String date = "Sun 10:00-20:00\r\n" + 
            "Fri 05:00-10:00\r\n" + 
            "Fri 16:30-23:50\r\n" + 
            "Sat 10:00-24:00\r\n" + 
            "Sun 01:00-04:00\r\n" + 
            "Sat 02:00-06:00\r\n" + 
            "Tue 03:30-18:15\r\n" + 
            "Tue 19:00-20:00\r\n" + 
            "Wed 04:25-15:14\r\n" + 
            "Wed 15:14-22:40\r\n" + 
            "Thu 00:00-23:59\r\n" + 
            "Mon 05:00-13:00\r\n" + 
            "Mon 15:00-21:00";

    List<String> Hour = new ArrayList<String>();
    int loop = …
Run Code Online (Sandbox Code Playgroud)

java duration minute datetime-conversion

0
推荐指数
1
解决办法
334
查看次数